RE: [U2] SELECT-READNEXT That's odd
The other problem with counting backwards is if you've got a lot of fields. BASIC has optimisations for scanning forward through a list. I don't think it scans backwards very well. Go backwards and the result is not likely to be pretty. The only time I normally go backwards is when I have a habit of deleting the value I'm working on, and need to know I've processed every value. Cheers, Wol -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of MAJ Programming Sent: 15 November 2008 03:52 To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT-READNEXT That's odd I would have to challenge the concept of putting the DCOUNT as the first value and counting backwards. 99% of the time FOR..NEXT loops start at 1 and go to some end. We assume that there's a test for surpassing the second variable at each iteration of FOR. But is the first variable touched only once and not again. If it's touched for each iteration, then DCOUNT anywhere is excessive. If it is only the first pass and only when working backwards, then it's too awkward and the more readable code would be to assign it and not have it derived per iteration, stepping in either direction. While noble and accurate, saving one variable when so many programmers have zillions of variables anyway would amount to much savings. My 2 cents. Mark Johnson - Original Message - From: Edward Brown [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Friday, November 14, 2008 12:05 PM Subject: RE: [U2] SELECT-READNEXT That's odd Hey, save the variable by looping backwards - if the code in the loop allows it, of course... FOR A = DCOUNT(WORK.THINGY,VM) TO 1 STEP -1 code NEXT A -Original Message- Also for any newbies watching. Do not put DCOUNT as the second value in a FOR...NEXT Loop. Assign it once prior to the FOR statement and the loop will be faster. MAX=DCOUNT(WORK.ITEM.REC17,VM) FOR I=1 TO MAX My 2 cents Mark Johnson - Original Message - From: Jef Lee [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Friday, November 14, 2008 2:39 AM Subject: [U2] SELECT-READNEXT That's odd One of our programmers wrote this snippet: FOR YY=1 TO DCOUNT(WORK.ITEM.REC17,VM) LISTNUMBER='' SQLCOMMAND='' UNISTATEMENT='SELECT BPM.WORKITEMS WITH A1=':WORK.ITEM.REC1:' AND WITH A2=':WORK.ITEM.REC2:' AND WITH A17=':WORK.ITEM.REC17,YY:' AND WITH A24#C AND WITH A24#R AND WITH A24#F' *MY.REC1=UNISTATEMENT CALL SR.EXECUTESQL(LISTNUMBER,UNISTATEMENT,SQLCOMMAND) READNEXT DEPENDANT.ID ELSE * NO ACTIVE ITEMS LEFT I NEED TO UPDATE THE STATUS OF THE DEPENDANT TASK CALL SR.READSQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC17,YY,'') DEP.TASK.REC24='A' DEP.TASK.REC8=DATE() DEP.TASK.REC9=TIME() CALL SR.WRITESQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC17,YY) END NEXT YY The FOR loop has 2 values to iterate, so it does 2 loops. The function SR.EXECUTESQL()does the SELECT call. Loop 1 returns 2 keys found. Loop 2 returns 0 keys found. What's odd is that the select list is empty on loop iteration 2 and the READNEXT is populated the ID with the second key from the first iteration. I looked in the help PDFs and all I found was a reference to a corrected error relating to memory not being released if the READNEXT did not exhaust the SELECT list. Any thoughts? We have since changed our strategy to check the count returned instead. But it would be nice to know that others have encountered this as well. Jeffrey Lee Senior Analyst/Programmer IT Vision Australia Pty Ltd (ABN: 34 309 336 904) PO Box 881, Canning Bridge WA 6153 Level 3, Kirin Centre, 15 Ogilvie Road, Applecross, WA, 6153 P: (08) 9315 7000F: (08) 9315 7088 W: http://www.itvision.com.au ___ NOTICE : This e-mail and any attachments are intended for the addressee(s) only and may contain confidential or privileged material. Any unauthorised review, use, alteration, disclosure or distribution of this e-mail (including any attachments) by an unintended recipient is prohibited. If you are not the intended recipient please contact the sender as soon as possible by return e-mail and then delete both messages. ___ --- 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/ -- - Please remember to recycle wherever possible. Reduce, reuse, recycle, think do you need to print this e-mail?
RE: [U2] concurrent connections on a pooled license
No - a pooled connection is a single dedicated connection to your iis application process. You can set the number of pools to use using UniObjects.MaxPoolSize and UniObjects.MinPoolSize. Obviously each connection pool uses a connection pool licence. If you do not use connection pooling then the process has to connect, login in, and start a udt backend and process for every request. In this scenario , if you have device licencing switched on then you can get 10 concurrent connections from your web server on the first licence and subsequent ones (11+) take a licence each. These use your normal licence users allotment. So pools are good if you have a lot traffic that is in and out of u2 very quickly. If however you are getting web traffic that is then backing up you either need to up your number of pools (expensive) or turn them off (slow) Rgds Symeon. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hugh Yang Sent: 17 November 2008 05:44 To: u2-users@listserver.u2ug.org Subject: [U2] concurrent connections on a pooled license I am using UO.NET in an ASP.NET applicaion. The application currently uses one pooled license on Unidata. When the application runs a time consuming subroutine, the applicaiton is not able to process other subroutines and hanging until the subroutine is finished. It seems like that one pooled license could only open one concurrent connection and process one subroutine at the same time. However, I am told one pooled license could open up to 10 concurrent connections, which means it can processes 10 subroutine at the same time. Is anything wrong on my web.config file or IIS configration? Thanks in advantage -- View this message in context: http://www.nabble.com/concurrent-connections-on-a-pooled-license-tp20534116p 20534116.html Sent from the U2 - Users mailing list archive at Nabble.com. --- 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 - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.3/1786 - Release Date: 16/11/2008 10:04 No virus found in this outgoing message. Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.3/1786 - Release Date: 16/11/2008 10:04 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Automatic Invoice - PO Matching Software
From: Hans Morawa We are looking for a electronic invoice processing system that matches invoice with purchase orders automatically and works on/or with a UniVerse platform and is available in Australia. ( Really hoping I'm not missing something obvious. *gulp* ) Hans, I don't understand the request. Are you looking for bar coding or image processing so that you can scan documents and have them match up with other documents? Can you give us an example of your business flow so that we can recommend something that fits? Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Automatic Invoice - PO Matching Software
Tony, obvious or not - I think You missed something. Electronic invoices are common goods in some coutnries. Here in Sweden even for personal invoices - e.g. I get my electricity bill as a message when i log in to my bank. Business is moving on and some large companies will not accept invoices on paper beginning this new year. and now it's coming down under... -- mats Tony G skrev: From: Hans Morawa We are looking for a electronic invoice processing system that matches invoice with purchase orders automatically and works on/or with a UniVerse platform and is available in Australia. ( Really hoping I'm not missing something obvious. *gulp* ) Hans, I don't understand the request. Are you looking for bar coding or image processing so that you can scan documents and have them match up with other documents? Can you give us an example of your business flow so that we can recommend something that fits? Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services --- 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] Performance Improvement Hpux 11.23 11.31 (Itianium)
Stewart, On Fri, Nov 14, 2008 at 12:49 PM, Mitchell, Stewart [EMAIL PROTECTED] wrote: Hi All, We have been doing some performance testing on HP-UX 11.23 11.31 and I though I would share some of our findings. Without giving away any confidential information, could you give us a rough idea of the SM.ORDERS file (physical size, record count, average record size, file size parameters etc)? It would be useful to get a feel for what your 5 minute select was actually having to do. Thanks, Adrian Auckland, NZ. On Fri, Nov 14, 2008 at 12:49 PM, Mitchell, Stewart [EMAIL PROTECTED] wrote: --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Automatic Invoice - PO Matching Software
This sounds like some format of EDI, whereby either the fields are mapped programmatically or there are published standards (214's etc) that both sides can follow. IMHO even with EDI being in the US for the last 20+ years, it still usually comes down to manual programming. At least that's my experience for the last 2 decades with the roughly 40 EDI imports/exports that I've worked with. First you would need to identify some third-party 'standards', ie the data facilitators, then look to existing MV code from there. My 2 cents, Mark Johnson - Original Message - From: Morawa, Hans [EMAIL PROTECTED] To: u2-users@listserver.u2ug.org Sent: Monday, November 17, 2008 5:28 AM Subject: RE: [U2] Automatic Invoice - PO Matching Software Hi Tony, To put my enquiry into perspective I simply looking for a electronic invoice processing system. The product needs to able to scan invoices regardless how they are delivered, whether they arrive electronically, or by fax or by email or mail, and then automatically match them to purchase orders based on captured information. This product needs to be able to integrate seamlessly with UniVerse. Regardless of how invoices are delivered they all need to be handled in the same way. There are products out there servicing the SAP and Oracle systems of the world and I'm looking for similar functionality without having a massive issue of integrating it with UniVerse. Hence my question to our fellow list members. Cheers, Hans -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony G Sent: Monday, 17 November 2008 6:35 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Automatic Invoice - PO Matching Software From: Hans Morawa We are looking for a electronic invoice processing system that matches invoice with purchase orders automatically and works on/or with a UniVerse platform and is available in Australia. ( Really hoping I'm not missing something obvious. *gulp* ) Hans, I don't understand the request. Are you looking for bar coding or image processing so that you can scan documents and have them match up with other documents? Can you give us an example of your business flow so that we can recommend something that fits? Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ _ This e-mail has been scanned for viruses by MessageLabs. --- This email and any files transmitted with it are confidential to the intended recipient and may be privileged. If you have received this email inadvertently or you are not the intended recipient, you may not disseminate, distribute, copy or in any way rely on it. Further, you should notify the sender immediately and delete the email from your computer. Whilst we have taken precautions to alert us to the presence of computer viruses, we cannot guarantee that this email and any files transmitted with it are free from such viruses. --- 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] Setting return code when a Universe process terminates
We do something similar here. In a UNIX shell script we call a Unidata sub and capture the output into a log file. echo Running BP $udtProgram $logfilepath $UDTBIN/udtEOD | tee -a $logfilepath RUN BP $udtProgram -N bye EOD Any output from the Unibasic program will be captured. In this case we send it to the log and to standard output. If you could limit the output of the Unibasic sub to only the values, or messages you wanted, you could use DISPLAY to return them. A more experienced *nix person might be able to tell you how to pipe the output to a variable, or possibly your perl program could use the standard ouput of the shell program. Hope this helps. I'm trying to write some Universe programs that plug into an existing perl framework. For this to work these programs need to set the standard unix exit code to different values when these programs terminate. This will allow this framework to test for different error conditions. (The equivalent test in a ksh script would be on $?). What is the best way to make this work? Everthing I've tried returns 0. BRAD I ended up using a shell script to call my UniBasic program and pass in a location and name of an ascii file. The program determines exit status and echoes it to the ascii file. Charles Shaffer Senior Analyst NTN-Bower Corporation [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 11/17/2008 07:20 AM Please respond to u2-users To: u2-users@listserver.u2ug.org cc: Subject:Re: [U2] Setting return code when a Universe process terminates Ian, I tried for a long time to figure out a way to do this entirely from within UD. Couldn't figure it out. I hit two walls. First, the exit code that nix receives is the status of the udt command. If you're program runs at all, you get a '0'. The second wall was when I tried setting an environment variable from within my code. The issue there is that shelling out starts a new shell that is closed as soon as you return to UD. The only way I could make it work was to echo a status code to an ascii file. I ended up using a shell script to call my UniBasic program and pass in a location and name of an ascii file. The program determines exit status and echoes it to the ascii file. After the program completes, the shell script checks the contents of the ascii file and does an 'exit #'. I've had this working for a couple years with no issues. I'd be willing to discuss details off-list if you like. Brad I'm trying to write some Universe programs that plug into an existing perl framework. For this to work these programs need to set the standard unix exit code to different values when these programs terminate. This will allow this framework to test for different error conditions. (The equivalent test in a ksh script would be on $?). What is the best way to make this work? Everthing I've tried returns 0. U.S. BANCORP made the following annotations - Electronic Privacy Notice. This e-mail, and any attachments, contains information that is, or may be, covered by electronic communications privacy laws, and is also confidential and proprietary in nature. If you are not the intended recipient, please be advised that you are legally prohibited from retaining, using, copying, distributing, or otherwise disclosing this information in any manner. Instead, please reply to the sender that you have received this communication in error, and then immediately delete it. Thank you in advance for your cooperation. - --- 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] Automatic Invoice - PO Matching Software
I am very interested in the data capture part of this. The Universe integration should be doable with UniObjects. PO/Invoice matching will be application specific, but doable. Capturing data from electronic documents should be doable as well, Being able to capture data off of paper documents is something we have done some work on here. The ICR product we use will only capture data on a strictly formatted document. We would be interested in an application that could recognize a variety of formats especially if hand written information is included. I am interested in how others have approached this. Charles Shaffer Senior Analyst NTN-Bower Corporation Morawa, Hans [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 11/17/2008 04:28 AM Please respond to u2-users To: u2-users@listserver.u2ug.org cc: Subject:RE: [U2] Automatic Invoice - PO Matching Software Hi Tony, To put my enquiry into perspective I simply looking for a electronic invoice processing system. The product needs to able to scan invoices regardless how they are delivered, whether they arrive electronically, or by fax or by email or mail, and then automatically match them to purchase orders based on captured information. This product needs to be able to integrate seamlessly with UniVerse. Regardless of how invoices are delivered they all need to be handled in the same way. There are products out there servicing the SAP and Oracle systems of the world and I'm looking for similar functionality without having a massive issue of integrating it with UniVerse. Hence my question to our fellow list members. Cheers, Hans -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony G Sent: Monday, 17 November 2008 6:35 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Automatic Invoice - PO Matching Software From: Hans Morawa We are looking for a electronic invoice processing system that matches invoice with purchase orders automatically and works on/or with a UniVerse platform and is available in Australia. ( Really hoping I'm not missing something obvious. *gulp* ) Hans, I don't understand the request. Are you looking for bar coding or image processing so that you can scan documents and have them match up with other documents? Can you give us an example of your business flow so that we can recommend something that fits? Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ _ This e-mail has been scanned for viruses by MessageLabs. --- This email and any files transmitted with it are confidential to the intended recipient and may be privileged. If you have received this email inadvertently or you are not the intended recipient, you may not disseminate, distribute, copy or in any way rely on it. Further, you should notify the sender immediately and delete the email from your computer. Whilst we have taken precautions to alert us to the presence of computer viruses, we cannot guarantee that this email and any files transmitted with it are free from such viruses. --- 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] Setting return code when a Universe process terminates
Again a similar thing in php - I look for a certain string in the output and use that as a return code $udtCmd=LANG=en_US.UTF-8;export LANGcd /usr/ud/accounts/$account;/usr/ud71/bin/udt RUN $BP $prog; $result = array(); exec( $udtCmd, $result); foreach ( $result as $v ) { if (substr($v,0,6)==!stat=){ $stat=substr($v,6,10); } } -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: 17 November 2008 15:09 To: u2-users@listserver.u2ug.org Subject: Re: [U2] Setting return code when a Universe process terminates We do something similar here. In a UNIX shell script we call a Unidata sub and capture the output into a log file. echo Running BP $udtProgram $logfilepath $UDTBIN/udtEOD | tee -a $logfilepath RUN BP $udtProgram -N bye EOD Any output from the Unibasic program will be captured. In this case we send it to the log and to standard output. If you could limit the output of the Unibasic sub to only the values, or messages you wanted, you could use DISPLAY to return them. A more experienced *nix person might be able to tell you how to pipe the output to a variable, or possibly your perl program could use the standard ouput of the shell program. Hope this helps. I'm trying to write some Universe programs that plug into an existing perl framework. For this to work these programs need to set the standard unix exit code to different values when these programs terminate. This will allow this framework to test for different error conditions. (The equivalent test in a ksh script would be on $?). What is the best way to make this work? Everthing I've tried returns 0. BRAD I ended up using a shell script to call my UniBasic program and pass in a location and name of an ascii file. The program determines exit status and echoes it to the ascii file. Charles Shaffer Senior Analyst NTN-Bower Corporation [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 11/17/2008 07:20 AM Please respond to u2-users To: u2-users@listserver.u2ug.org cc: Subject:Re: [U2] Setting return code when a Universe process terminates Ian, I tried for a long time to figure out a way to do this entirely from within UD. Couldn't figure it out. I hit two walls. First, the exit code that nix receives is the status of the udt command. If you're program runs at all, you get a '0'. The second wall was when I tried setting an environment variable from within my code. The issue there is that shelling out starts a new shell that is closed as soon as you return to UD. The only way I could make it work was to echo a status code to an ascii file. I ended up using a shell script to call my UniBasic program and pass in a location and name of an ascii file. The program determines exit status and echoes it to the ascii file. After the program completes, the shell script checks the contents of the ascii file and does an 'exit #'. I've had this working for a couple years with no issues. I'd be willing to discuss details off-list if you like. Brad I'm trying to write some Universe programs that plug into an existing perl framework. For this to work these programs need to set the standard unix exit code to different values when these programs terminate. This will allow this framework to test for different error conditions. (The equivalent test in a ksh script would be on $?). What is the best way to make this work? Everthing I've tried returns 0. U.S. BANCORP made the following annotations - Electronic Privacy Notice. This e-mail, and any attachments, contains information that is, or may be, covered by electronic communications privacy laws, and is also confidential and proprietary in nature. If you are not the intended recipient, please be advised that you are legally prohibited from retaining, using, copying, distributing, or otherwise disclosing this information in any manner. Instead, please reply to the sender that you have received this communication in error, and then immediately delete it. Thank you in advance for your cooperation. - --- 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/ No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.3/1786 - Release Date: 16/11/2008 19:58 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Automatic Invoice - PO Matching Software
Hi we use an OCR product called Invoices from Readsoft. This looks for the data you want and captures it. It then remembers the format for the supplier. The best thing is it works. We do 1.5 million invoices a year like this. It produces a csv file containing the captured data and details of where to find the image. We capture the line item details as well as the header details. Les Sherlock Hewkin Project Manager Group Financial Systems I.T. Department Rye Hill House T 01604 592289 M 07917 856195 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: 17 November 2008 15:24 To: u2-users@listserver.u2ug.org Cc: [EMAIL PROTECTED]; u2-users@listserver.u2ug.org Subject: RE: [U2] Automatic Invoice - PO Matching Software I am very interested in the data capture part of this. The Universe integration should be doable with UniObjects. PO/Invoice matching will be application specific, but doable. Capturing data from electronic documents should be doable as well, Being able to capture data off of paper documents is something we have done some work on here. The ICR product we use will only capture data on a strictly formatted document. We would be interested in an application that could recognize a variety of formats especially if hand written information is included. I am interested in how others have approached this. Charles Shaffer Senior Analyst NTN-Bower Corporation Morawa, Hans [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 11/17/2008 04:28 AM Please respond to u2-users To: u2-users@listserver.u2ug.org cc: Subject:RE: [U2] Automatic Invoice - PO Matching Software Hi Tony, To put my enquiry into perspective I simply looking for a electronic invoice processing system. The product needs to able to scan invoices regardless how they are delivered, whether they arrive electronically, or by fax or by email or mail, and then automatically match them to purchase orders based on captured information. This product needs to be able to integrate seamlessly with UniVerse. Regardless of how invoices are delivered they all need to be handled in the same way. There are products out there servicing the SAP and Oracle systems of the world and I'm looking for similar functionality without having a massive issue of integrating it with UniVerse. Hence my question to our fellow list members. Cheers, Hans -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony G Sent: Monday, 17 November 2008 6:35 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Automatic Invoice - PO Matching Software From: Hans Morawa We are looking for a electronic invoice processing system that matches invoice with purchase orders automatically and works on/or with a UniVerse platform and is available in Australia. ( Really hoping I'm not missing something obvious. *gulp* ) Hans, I don't understand the request. Are you looking for bar coding or image processing so that you can scan documents and have them match up with other documents? Can you give us an example of your business flow so that we can recommend something that fits? Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ _ This e-mail has been scanned for viruses by MessageLabs. --- This email and any files transmitted with it are confidential to the intended recipient and may be privileged. If you have received this email inadvertently or you are not the intended recipient, you may not disseminate, distribute, copy or in any way rely on it. Further, you should notify the sender immediately and delete the email from your computer. Whilst we have taken precautions to alert us to the presence of computer viruses, we cannot guarantee that this email and any files transmitted with it are free from such viruses. --- 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/ html head meta http-equiv=Content-type content=text/html; charset=UTF-8 /head body P style=MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0ptSPAN style=FONT-SIZE: 8.2pt; FONT-FAMILY: 'MS Sans Serif'This e-mail and any attachments are confidential and intended solely for the use of the addressee only. If you have received this message in error, you must not copy, distribute or disclose the contents; please notify the sender immediately and delete the message. /SPAN/P P style=MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0ptSPAN style=FONT-SIZE: 8.2pt; FONT-FAMILY: 'MS Sans Serif'This message is
RE: [U2] Setting return code when a Universe process terminates
Symeon, Nice. Since exec is used, your U2 server must also be your web server, right? In our environment here, the U2 server is a different machine than the web server. I wonder, is there and rexec equivalent in PHP and has anyone done this remotely? $udtCmd=LANG=en_US.UTF-8;export LANGcd /usr/ud/accounts/$account;/usr/ud71/bin/udt RUN $BP $prog; $result = array(); exec( $udtCmd, $result); foreach ( $result as $v ) { if (substr($v,0,6)==!stat=){ $stat=substr($v,6,10); } } Charles Shaffer Senior Analyst NTN-Bower Corporation --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Setting return code when a Universe process terminates
What about if you had a unix directory call ../truefalse If the output of UD/UV program is good, then touch ../truefalse/PID If the output of UD/UV program is false, then /bin/rm ../truefalse/PID then RUN BP $udtProgram ; cat ../truefalse/`method-of-returning-current-pid` I can't remember how to return your current PID. The idea is that if the UV program is ok, create a file so the cat command returns a 1 (successful), if the UV program output needs to be not ok then make the output of the cat command unsuccessfull (file non existant). George -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of [EMAIL PROTECTED] Sent: Monday, November 17, 2008 10:09 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Setting return code when a Universe process terminates We do something similar here. In a UNIX shell script we call a Unidata sub and capture the output into a log file. echo Running BP $udtProgram $logfilepath $UDTBIN/udtEOD | tee -a $logfilepath RUN BP $udtProgram -N bye EOD Any output from the Unibasic program will be captured. In this case we send it to the log and to standard output. If you could limit the output of the Unibasic sub to only the values, or messages you wanted, you could use DISPLAY to return them. A more experienced *nix person might be able to tell you how to pipe the output to a variable, or possibly your perl program could use the standard ouput of the shell program. Hope this helps. I'm trying to write some Universe programs that plug into an existing perl framework. For this to work these programs need to set the standard unix exit code to different values when these programs terminate. This will allow this framework to test for different error conditions. (The equivalent test in a ksh script would be on $?). What is the best way to make this work? Everthing I've tried returns 0. BRAD I ended up using a shell script to call my UniBasic program and pass in a location and name of an ascii file. The program determines exit status and echoes it to the ascii file. Charles Shaffer Senior Analyst NTN-Bower Corporation [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 11/17/2008 07:20 AM Please respond to u2-users To: u2-users@listserver.u2ug.org cc: Subject:Re: [U2] Setting return code when a Universe process terminates Ian, I tried for a long time to figure out a way to do this entirely from within UD. Couldn't figure it out. I hit two walls. First, the exit code that nix receives is the status of the udt command. If you're program runs at all, you get a '0'. The second wall was when I tried setting an environment variable from within my code. The issue there is that shelling out starts a new shell that is closed as soon as you return to UD. The only way I could make it work was to echo a status code to an ascii file. I ended up using a shell script to call my UniBasic program and pass in a location and name of an ascii file. The program determines exit status and echoes it to the ascii file. After the program completes, the shell script checks the contents of the ascii file and does an 'exit #'. I've had this working for a couple years with no issues. I'd be willing to discuss details off-list if you like. Brad I'm trying to write some Universe programs that plug into an existing perl framework. For this to work these programs need to set the standard unix exit code to different values when these programs terminate. This will allow this framework to test for different error conditions. (The equivalent test in a ksh script would be on $?). What is the best way to make this work? Everthing I've tried returns 0. U.S. BANCORP made the following annotations - Electronic Privacy Notice. This e-mail, and any attachments, contains information that is, or may be, covered by electronic communications privacy laws, and is also confidential and proprietary in nature. If you are not the intended recipient, please be advised that you are legally prohibited from retaining, using, copying, distributing, or otherwise disclosing this information in any manner. Instead, please reply to the sender that you have received this communication in error, and then immediately delete it. Thank you in advance for your cooperation. - --- 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
RE: [U2] Automatic Invoice - PO Matching Software
Lee, Thanks. I will definitely check this out. I am guessing that you take the CSV files and site specific processing with them. Hi we use an OCR product called Invoices from Readsoft. Charles Shaffer Senior Analyst NTN-Bower Corporation --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Automatic Invoice - PO Matching Software
We transform nearly everything into either PDF or PS and attach it using automatic or manual PDF attachments which is just a list of PDF keys in each respective item. If you're on Linux I can shoot you some pointers on how to do it yourself with free Linux tools and a couple for-fee tools. I hope that your PO number is visually unique, because it will be difficult to locate and match by text in any OCR unless it's: 1) in the same physical place on every invoice 2) always starts or ends with the same unique string Many newer OCR+PDF convertor software apps support barcode detection, but the best I've made use of it is to have the barcode show up better in the final PDF. I've not used it to route paperwork, yet. Glen Batchelor IT Director All-Spec Industries phone: (910) 332-0424 fax: (910) 763-5664 E-mail: [EMAIL PROTECTED] Web: http://www.all-spec.com Blog: http://blog.all-spec.com -Original Message- From: [EMAIL PROTECTED] [mailto:owner-u2- [EMAIL PROTECTED] On Behalf Of Morawa, Hans Sent: Monday, November 17, 2008 5:28 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Automatic Invoice - PO Matching Software Hi Tony, To put my enquiry into perspective I simply looking for a electronic invoice processing system. The product needs to able to scan invoices regardless how they are delivered, whether they arrive electronically, or by fax or by email or mail, and then automatically match them to purchase orders based on captured information. This product needs to be able to integrate seamlessly with UniVerse. Regardless of how invoices are delivered they all need to be handled in the same way. There are products out there servicing the SAP and Oracle systems of the world and I'm looking for similar functionality without having a massive issue of integrating it with UniVerse. Hence my question to our fellow list members. Cheers, Hans -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony G Sent: Monday, 17 November 2008 6:35 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Automatic Invoice - PO Matching Software From: Hans Morawa We are looking for a electronic invoice processing system that matches invoice with purchase orders automatically and works on/or with a UniVerse platform and is available in Australia. ( Really hoping I'm not missing something obvious. *gulp* ) Hans, I don't understand the request. Are you looking for bar coding or image processing so that you can scan documents and have them match up with other documents? Can you give us an example of your business flow so that we can recommend something that fits? Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ _ This e-mail has been scanned for viruses by MessageLabs. --- This email and any files transmitted with it are confidential to the intended recipient and may be privileged. If you have received this email inadvertently or you are not the intended recipient, you may not disseminate, distribute, copy or in any way rely on it. Further, you should notify the sender immediately and delete the email from your computer. Whilst we have taken precautions to alert us to the presence of computer viruses, we cannot guarantee that this email and any files transmitted with it are free from such viruses. --- 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] Speeding up processing through large dynamic table
Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
When running through an array with a for next loop the last item processed isn't remembered so the program needs to traverse the entire array for each record and will slow down as you get to records later in the process. Instead of this: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. Let me know how that works out for you. Thanks, Josh -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Laansma Sent: Monday, November 17, 2008 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] Speeding up processing through large dynamic table Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Speeding up processing through large dynamic table
Check into REMOVE , it should speed this up quite a bit. -Original Message- From: [EMAIL PROTECTED] [mailto:owner-u2- [EMAIL PROTECTED] On Behalf Of David Laansma Sent: November 17, 2008 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] Speeding up processing through large dynamic table Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Speeding up processing through large dynamic table
What if you eliminated the SWAP and changed: CUST.NUM = IN.LINE1,1 CUST.DESC = IN.LINE1,2 How long does it take? George -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of David Laansma Sent: Monday, November 17, 2008 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] Speeding up processing through large dynamic table Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Speeding up processing through large dynamic table
If the array IN.TAB is only attributed, with say the customer number description with pipe delimited you can use REMOVE: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MORE UNTIL IN.LINE = DO CUST.NUM = FIELD(IN.LINE,|,1) CUST.DESC = FIELD(IN.LINE,|,2) REPEAT -- From: George Gallen [EMAIL PROTECTED] Sent: Monday, November 17, 2008 7:05 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table What if you eliminated the SWAP and changed: CUST.NUM = IN.LINE1,1 CUST.DESC = IN.LINE1,2 How long does it take? George -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of David Laansma Sent: Monday, November 17, 2008 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] Speeding up processing through large dynamic table Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Speeding up processing through large dynamic table
So the remove pointer (mark) works like the example believes it should... SWAP @VM WITH CHAR(0) IN IN.TAB LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP CHAR(0) WITH @AM IN IN.LINE * SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT Marvin R. Fisher Technical Resource Group A Pipeline Group Company 2850 Red Hill Ave. Suite 110 Santa Ana, CA 92705 Tel (949) 296-8380 ext. 620 Fax (949) 756-0029 Pipeline Software Statement: This email message is confidential and may be legally privileged. The contents contained within, including any attached files, are intended solely for the addressee(s). Access by anyone other than the addressee(s) is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action, taken or not taken, in reliance on it, is prohibited and may be unlawful. If you believe that you have received this email message in error, please contact the sender. Any views expressed within are those of the individual sender, except where the sender specifies and with authority, states them to be the views of Pipeline-Software, Inc., Santa Ana, CA. (The contents of this email message have been scanned for the presence of computer viruses.) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joshua Gallant Sent: Monday, November 17, 2008 10:31 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table When running through an array with a for next loop the last item processed isn't remembered so the program needs to traverse the entire array for each record and will slow down as you get to records later in the process. Instead of this: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. Let me know how that works out for you. Thanks, Josh -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Laansma Sent: Monday, November 17, 2008 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] Speeding up processing through large dynamic table Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Speeding up processing through large dynamic table
READNEXT could be an option SELECT IN.TAB LOOP WHILE READNEXT IN.LINE DO CUST.NUM=IN.LINE1,1 CUST.DESC=IN.LINE1,2 REPEAT this should be lightning-fast regardless how big IN.TAB is. David Laansma wrote: Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Speeding up processing through large dynamic table
Oh my goodness! This is incredible. Okay, now I have a mixture of @VM and @AM in the table. The REMOVE 'stops' at every @VM and @AM. I only want it to 'stop' at @AMs. How do I do that? David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joshua Gallant Sent: Monday, November 17, 2008 1:31 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table When running through an array with a for next loop the last item processed isn't remembered so the program needs to traverse the entire array for each record and will slow down as you get to records later in the process. Instead of this: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. Let me know how that works out for you. Thanks, Josh -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Laansma Sent: Monday, November 17, 2008 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] Speeding up processing through large dynamic table Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Speeding up processing through large dynamic table
I believe that the later versions of UV does keep a current pointer, so the REMOVE shouldn't be much faster, as long as you don't write back to the dynamic array. George -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Joshua Gallant Sent: Monday, November 17, 2008 1:31 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table When running through an array with a for next loop the last item processed isn't remembered so the program needs to traverse the entire array for each record and will slow down as you get to records later in the process. Instead of this: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. Let me know how that works out for you. Thanks, Josh -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Laansma Sent: Monday, November 17, 2008 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] Speeding up processing through large dynamic table Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Setting return code when a Universe process terminates
Ahh subtle difference our udt box is A web server but not our main one. Our main web farm is based on win iis . Udt is on linux which comes with apache by default. So no rexec but to do it remotely you just call the web page from your other app/website/javascript etc. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: 17 November 2008 17:22 To: u2-users@listserver.u2ug.org Subject: RE: [U2] Setting return code when a Universe process terminates Symeon, Nice. Since exec is used, your U2 server must also be your web server, right? In our environment here, the U2 server is a different machine than the web server. I wonder, is there and rexec equivalent in PHP and has anyone done this remotely? $udtCmd=LANG=en_US.UTF-8;export LANGcd /usr/ud/accounts/$account;/usr/ud71/bin/udt RUN $BP $prog; $result = array(); exec( $udtCmd, $result); foreach ( $result as $v ) { if (substr($v,0,6)==!stat=){ $stat=substr($v,6,10); } } Charles Shaffer Senior Analyst NTN-Bower Corporation --- 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 - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.3/1786 - Release Date: 16/11/2008 19:58 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Speeding up processing through large dynamic table
Joshua Gallant wrote: When running through an array with a for next loop the last item processed isn't remembered so the program needs to traverse the entire array for each record and will slow down as you get to records later in the process. Instead of this: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. Let me know how that works out for you. Unfortunately, that won't quite work. The REMOVE statement removes the next element, and since he's got embedded attributes (@AM), that approach will return the attribute instead of the entire line. Unfortunately. And particularly since the approach you recommend is one that I like, and use a lot 'cause you're absolutely correct about the indexing of the elements. However, this will work: (at least on Universe): 0001 IN.TAB = 0002 IN.TAB:= NAME-ONE: @VM: DESC-ONE: @VM: 1A: @VM: 1B 0003 IN.TAB:= @AM: NAME-TWO: @VM: DESC-TWO: @VM: 2A: @VM: 2B 0004 IN.TAB:= @AM: NAME-THREE: @VM: DESC-THREE: @VM: 3A: @VM: 3B: @VM: 3C 0005 0006 REM1 = 999 0007 LOOP WHILE REM1 NE 0 0008 REMOVE CUST.NAME FROM IN.TAB SETTING REM1 0009 CRT CUST.NAME: : CUST.NAME 0010 REMOVE CUST.DESC FROM IN.TAB SETTING REM1 0011 CRT CUST.DESC: : CUST.DESC 0012 LOOP WHILE REM1 EQ 3 0013 REMOVE EXCESS FROM IN.TAB SETTING REM1 0014 CRT REMOVED : EXCESS 0015 REPEAT 0016 CRT 0017 REPEAT 0018 STOP RUN ADE.BP TT CUST.NAME: NAME-ONE CUST.DESC: DESC-ONE REMOVED 1A REMOVED 1B CUST.NAME: NAME-TWO CUST.DESC: DESC-TWO REMOVED 2A REMOVED 2B CUST.NAME: NAME-THREE CUST.DESC: DESC-THREE REMOVED 3A REMOVED 3B REMOVED 3C -- Allen Egerton aegerton at pobox dot com --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Pentaho/ETL Tools
You could contact [EMAIL PROTECTED] to look at myviewpoint. Tom -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Butera Sent: Friday, November 14, 2008 9:45 PM To: u2-users@listserver.u2ug.org Subject: [U2] Pentaho/ETL Tools We're in the midst of creating a data warehouse from our UniData databases and exploring the possibility of using Pentaho. Their ETL tool does have an entry for Universe (not Unidata), but the connection methods are JDBC, ODBC or JNDI. We don't want to create an SQL-view of Unidata merely for ETL, we'd prefer to find an ETL tool that can natively talk with Unidata. Has anyone worked with Pentaho? Any thoughts? Does anyone have ETL tools in mind that natively talk to Unidata? Jeff Butera, Ph.D. Administrative Systems Hampshire College [EMAIL PROTECTED] 413-559-5556 But Dad, I'm not listening to you. Catherine Butera --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ __ Information from ESET NOD32 Antivirus, version of virus signature database 3614 (20081114) __ The message was checked by ESET NOD32 Antivirus. http://www.eset.com --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Speeding up processing through large dynamic table
In message [EMAIL PROTECTED], Joshua Gallant [EMAIL PROTECTED] writes When running through an array with a for next loop the last item processed isn't remembered so the program needs to traverse the entire array for each record and will slow down as you get to records later in the process. I thought UV had optimisations so that (as long as it is FIELDS) the last item processed IS remembered and it carries on scanning from where it left off. Instead of this: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 Seeing as this snippet does nothing much, I'd guess that the problem is actually somewhere in the code you've snipped - do you assign back to IN.TAB at any point? That *really* will get slow. Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. Let me know how that works out for you. I'd do the following (INFORMATION-style flavours only!) A11 = DCOUNT(IN.TAB,@AM) DIM IN.TAB.M(A11) MATPARSE IN.TAB.M FROM IN.TAB, @FM FOR A1 = 1 TO A11 IN.LINE = IN.TAB.M(A1) SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 If you've been assigning to IN.TAB, you can then get it all back with MATBUILD IN.TAB FROM IN.TAB.M, @FM (Check my syntax - I've probably got MATPARSE/MATBUILD wrong - I look them up in the manual when I need them :-) Something to bear in mind ... using dimensioned arrays will ALWAYS beat dynamic arrays for speed. Which is more important to you? The flexibility of dynamic or the speed of dimensioned? And in PI-style accounts you can have the advantages of both - dimensioned arrays can be defined on the fly, at a small cost in clarity-of-code. With small arrays I can never be bothered with dimensioned arrays. As soon as I start heavily manipulating arrays, or they start getting big, I look at dimensioned arrays and wonder are they worth it. Sometimes they are, sometimes they aren't. Looking at your case, they almost certainly are! Cheers, Wol -- Anthony W. Youngman [EMAIL PROTECTED] 'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998 Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
If you don't want to 'swap' all the other markers with 'strings' (SWAP @VM WITH VM IN RECORD) then you have to 'build' the line item up -- keep removing until you see the remove hit the @AM and then process the line... DW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma Sent: Monday, November 17, 2008 1:24 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table Oh my goodness! This is incredible. Okay, now I have a mixture of @VM and @AM in the table. The REMOVE 'stops' at every @VM and @AM. I only want it to 'stop' at @AMs. How do I do that? David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Speeding up processing through large dynamic table
READNEXT could be an option Agreed. I've found that using SELECT lists is considerably faster than dynamic arrays. Charles Shaffer Senior Analyst NTN-Bower Corporation --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
But it is not a file - it's an array. Marvin R. Fisher Technical Resource Group A Pipeline Group Company 2850 Red Hill Ave. Suite 110 Santa Ana, CA 92705 Tel (949) 296-8380 ext. 620 Fax (949) 756-0029 Pipeline Software Statement: This email message is confidential and may be legally privileged. The contents contained within, including any attached files, are intended solely for the addressee(s). Access by anyone other than the addressee(s) is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action, taken or not taken, in reliance on it, is prohibited and may be unlawful. If you believe that you have received this email message in error, please contact the sender. Any views expressed within are those of the individual sender, except where the sender specifies and with authority, states them to be the views of Pipeline-Software, Inc., Santa Ana, CA. (The contents of this email message have been scanned for the presence of computer viruses.) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mecki Foerthmann Sent: Monday, November 17, 2008 11:21 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Speeding up processing through large dynamic table READNEXT could be an option SELECT IN.TAB LOOP WHILE READNEXT IN.LINE DO CUST.NUM=IN.LINE1,1 CUST.DESC=IN.LINE1,2 REPEAT this should be lightning-fast regardless how big IN.TAB is. David Laansma wrote: Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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] Speeding up processing through large dynamic table
The REMOVE 'stops' at every @VM and @AM. ... See my earlier response. Marvin R. Fisher Technical Resource Group A Pipeline Group Company 2850 Red Hill Ave. Suite 110 Santa Ana, CA 92705 Tel (949) 296-8380 ext. 620 Fax (949) 756-0029 Pipeline Software Statement: This email message is confidential and may be legally privileged. The contents contained within, including any attached files, are intended solely for the addressee(s). Access by anyone other than the addressee(s) is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action, taken or not taken, in reliance on it, is prohibited and may be unlawful. If you believe that you have received this email message in error, please contact the sender. Any views expressed within are those of the individual sender, except where the sender specifies and with authority, states them to be the views of Pipeline-Software, Inc., Santa Ana, CA. (The contents of this email message have been scanned for the presence of computer viruses.) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma Sent: Monday, November 17, 2008 11:24 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table Oh my goodness! This is incredible. Okay, now I have a mixture of @VM and @AM in the table. The REMOVE 'stops' at every @VM and @AM. I only want it to 'stop' at @AMs. How do I do that? David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joshua Gallant Sent: Monday, November 17, 2008 1:31 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table When running through an array with a for next loop the last item processed isn't remembered so the program needs to traverse the entire array for each record and will slow down as you get to records later in the process. Instead of this: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. Let me know how that works out for you. Thanks, Josh -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Laansma Sent: Monday, November 17, 2008 1:10 PM To: u2-users@listserver.u2ug.org Subject: [U2] Speeding up processing through large dynamic table Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
That is what I was afraid of. Okay. So after listening to all of your comments (thus far since there is an annoying delay in these messages), here is what I like the best: SWAP CHAR(9) WITH IN IN.TAB SWAP CHAR(10) WITH IN IN.TAB SWAP @VM WITH CHAR(9) IN IN.TAB SWAP @SM WITH CHAR(10) IN IN.TAB REPEAT REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP CHAR(9) WITH @VM IN IN.LINE SWAP CHAR(10) WITH @SM IN IN.LINE (do my thing with IN.LINE) UNTIL MARK DO REPEAT Any objections, concerns or better suggestions for using CHAR(10) as the temporary substitute for the @SM? I just picked it because it came right after CHAR(9) on my handy-dandy ASCII chart! Been using it since the 70's. Some things just never go out of style! David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Wolverton Sent: Monday, November 17, 2008 2:52 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table If you don't want to 'swap' all the other markers with 'strings' (SWAP @VM WITH VM IN RECORD) then you have to 'build' the line item up -- keep removing until you see the remove hit the @AM and then process the line... DW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma Sent: Monday, November 17, 2008 1:24 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table Oh my goodness! This is incredible. Okay, now I have a mixture of @VM and @AM in the table. The REMOVE 'stops' at every @VM and @AM. I only want it to 'stop' at @AMs. How do I do that? David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions --- 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] Automatic Invoice - PO Matching Software
Hi Hans, You may want to look at an imaging software that used to be called Optio IDC Enterprise. Optio Software was acquired by Bottomline technologies. The software engine is the best I have seen for imaging repeating data (fax and print). You set it once for one trading partner and it teaches itself for the next partner. It takes it's template (which is called a fingerprint) and learns the new locations for the new business partner. Slick. It will create an XML file which is perfect for conversion to U2 format. Contact Pete Heydt, [EMAIL PROTECTED] at Bottomline Technologies (770) 576-3602 Atlanta, GA, USA. He can get you in touch with a local representative. Steven Horwitz -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Morawa, Hans Sent: Monday, November 17, 2008 2:28 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Automatic Invoice - PO Matching Software Hi Tony, To put my enquiry into perspective I simply looking for a electronic invoice processing system. The product needs to able to scan invoices regardless how they are delivered, whether they arrive electronically, or by fax or by email or mail, and then automatically match them to purchase orders based on captured information. This product needs to be able to integrate seamlessly with UniVerse. Regardless of how invoices are delivered they all need to be handled in the same way. There are products out there servicing the SAP and Oracle systems of the world and I'm looking for similar functionality without having a massive issue of integrating it with UniVerse. Hence my question to our fellow list members. Cheers, Hans -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony G Sent: Monday, 17 November 2008 6:35 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Automatic Invoice - PO Matching Software From: Hans Morawa We are looking for a electronic invoice processing system that matches invoice with purchase orders automatically and works on/or with a UniVerse platform and is available in Australia. ( Really hoping I'm not missing something obvious. *gulp* ) Hans, I don't understand the request. Are you looking for bar coding or image processing so that you can scan documents and have them match up with other documents? Can you give us an example of your business flow so that we can recommend something that fits? Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ _ This e-mail has been scanned for viruses by MessageLabs. --- This email and any files transmitted with it are confidential to the intended recipient and may be privileged. If you have received this email inadvertently or you are not the intended recipient, you may not disseminate, distribute, copy or in any way rely on it. Further, you should notify the sender immediately and delete the email from your computer. Whilst we have taken precautions to alert us to the presence of computer viruses, we cannot guarantee that this email and any files transmitted with it are free from such viruses. --- 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] Setting return code when a Universe process terminates
So no rexec but to do it remotely you just call the web page from your other app/website/javascript etc. So the client browser requests a page from the IIS server and the IIS server requests myPage.php from the U2 server which causes the PHP processor on the U2 server to make the exec call to the UniBasic program. How do you normally make the page request from IIS? Charles Shaffer Senior Analyst NTN-Bower Corporation --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
that's what I thought.but it works! (coool) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Marvin R. Fisher Sent: Monday, November 17, 2008 3:00 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table But it is not a file - it's an array. Marvin R. Fisher Technical Resource Group A Pipeline Group Company 2850 Red Hill Ave. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
And unless there is a need to work with attributes rather than values, eliminate the SWAP to get: CUST.NUM = IN.LINE1,1 CUST.DESC = IN.LINE1,2 From: Joshua Gallant Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
You can make use of the change in the delimiter flag. I have a remove boiler plate; DELIM = -1 ATT = 1 VAL = 1 SV = 1 LOOP REMOVE PIECE FROM RECORD SETTING DELIM CRT '':ATT:',':VAL:',':SV:' = ':PIECE BEGIN CASE CASE DELIM = 2 ATT += 1 VAL = 1 SV = 1 CASE DELIM = 3 VAL += 1 SV = 1 CASE DELIM = 4 SV += 1 END CASE WHILE DELIM DO REPEAT You don't need all of the above. All you need to know is that if your VAL is 1 you have a CUST.NUM, VAL = 2 a CUST.DESC and when your ATT changes or you hit the end, you need to process Bruce M Neylon Health Care Management Group --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Automatic Invoice - PO Matching Software
From:Glen Batchelor I hope that your PO number is visually unique, because it will be difficult to locate and match by text in any OCR unless it's: 1) in the same physical place on every invoice 2) always starts or ends with the same unique string Many newer OCR+PDF convertor software apps support barcode detection, but the best I've made use of it is to have the barcode show up better in the final PDF. I've not used it to route paperwork, yet. The responses so far explain my confusion. There are email text invoices, Emails with attachments in various formats, Fax, hard copy, EDI, XML according to OASIS or proprietary standards, web services... The data acquisition will be unique for each medium, so the notion of having one software package to do it all seemed a bit magical. Ignoring the electronic EDI/XML types, I think all of the other document formats can be scanned physically if they're not in digital format already, then as others suggest they can be OCR'd, but the software needs to be trainable if the process is to be automated, since all vendors have different document formatting and you will find the invoice number in different places. As to a solution that does that optical scanning part, http://kofax.com/ has various offerings, and we have researched something like this for a client and the best tools for development that we found were on this site: http://www.leadtools.com/home2/VertMkts/LTProdOvrvw.htm. Since those are components, a solution would need to be written around them. If you're looking to spend tens of thousands of dollars on this (and that's not unusual in this area) then you might prefer a less expensive DIY solution. While I offered to write a solution using LeadTools, our client never took it past the investigation stage, so I can't comment as to whether making or buying is more effective. One thing that came loud and clear out of that research - don't skimp on the scanning tools: a low-quality or low-resolution scanner on the front-end will create a need for lots of manual intervention to resolve errors later. Get good equipment up-front so the OCR-related software has good bits to work with. And before purchasing a solution, do a trial with a wide variety of your documents so that you can be sure it is fast enough and accurate enough for your purpose. As to document management with indexing after you have some metadata, there are many products like http://docuxplorer.com/ which can be integrated with Universe, and http://www.1mage.com/ specializes in the MV market. It may help to separate out the tasks in order to create a better definition of what you're looking for. These include data acquisition, digital scanning, data scanning, indexing, and retrieval. Any solution should provide an API, and make the indexing and retrieval part with Universe fairly trivial compared to the rest of the package. I hope that helps. Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services (Nebula RD does not sell any of the offerings mentioned and has no affiliation with any of the companies.) --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
I think a lot of us need to brush up on how remove works. Marvin R. Fisher Technical Resource Group A Pipeline Group Company 2850 Red Hill Ave. Suite 110 Santa Ana, CA 92705 Tel (949) 296-8380 ext. 620 Fax (949) 756-0029 Pipeline Software Statement: This email message is confidential and may be legally privileged. The contents contained within, including any attached files, are intended solely for the addressee(s). Access by anyone other than the addressee(s) is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action, taken or not taken, in reliance on it, is prohibited and may be unlawful. If you believe that you have received this email message in error, please contact the sender. Any views expressed within are those of the individual sender, except where the sender specifies and with authority, states them to be the views of Pipeline-Software, Inc., Santa Ana, CA. (The contents of this email message have been scanned for the presence of computer viruses.) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony G Sent: Monday, November 17, 2008 12:52 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table And unless there is a need to work with attributes rather than values, eliminate the SWAP to get: CUST.NUM = IN.LINE1,1 CUST.DESC = IN.LINE1,2 From: Joshua Gallant Try something like this instead: LOOP REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 WHILE MARK DO REPEAT That will keep track of where you were in the array and pick up where you left off. --- 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] Speeding up processing through large dynamic table
0001: TESTDYN= 0002: TESTDYN-1=HELLO:CHAR(253):THERE 0003: TESTDYN-1=UNTIL:CHAR(253):ANOTHER 0004: SELECT TESTDYN 0005: LOOP 0006: READNEXT ID ELSE EXIT 0007: PRINT ID 0008: REPEAT 0009: STOP 0010: END This only returns HELLO UNTIL My first test did not have @vm's and it looked like it worked but when I put in @vm's, anything after them is ignored. George -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Marvin R. Fisher Sent: Monday, November 17, 2008 3:00 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table But it is not a file - it's an array. Marvin R. Fisher Technical Resource Group A Pipeline Group Company 2850 Red Hill Ave. Suite 110 Santa Ana, CA 92705 Tel (949) 296-8380 ext. 620 Fax (949) 756-0029 Pipeline Software Statement: This email message is confidential and may be legally privileged. The contents contained within, including any attached files, are intended solely for the addressee(s). Access by anyone other than the addressee(s) is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action, taken or not taken, in reliance on it, is prohibited and may be unlawful. If you believe that you have received this email message in error, please contact the sender. Any views expressed within are those of the individual sender, except where the sender specifies and with authority, states them to be the views of Pipeline-Software, Inc., Santa Ana, CA. (The contents of this email message have been scanned for the presence of computer viruses.) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mecki Foerthmann Sent: Monday, November 17, 2008 11:21 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Speeding up processing through large dynamic table READNEXT could be an option SELECT IN.TAB LOOP WHILE READNEXT IN.LINE DO CUST.NUM=IN.LINE1,1 CUST.DESC=IN.LINE1,2 REPEAT this should be lightning-fast regardless how big IN.TAB is. David Laansma wrote: Is there a way to speed up spinning through a very large dynamic table? Here is a sample of my program: A11 = DCOUNT(IN.TAB,@AM) FOR A1 = 1 TO A11 IN.LINE = IN.TABA1 SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1 CUST.DESC = IN.LINE2 NEXT A1 A11 is 85,000+ and as this loop goes on, this thing get really slow. Any tips on speeding this up? --- 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/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
Or again, you could 'build up' your IN.LINE like this: If you string were **huge** this might be faster as long as the size of each @AM was not too big... IN.LINE = LOOP REMOVE TEMP.IN.LINE FROM IN.TAB SETTING MARK BEGIN CASE CASE MARK = 0 OR MARK = 1 OR MARK = 2 (do my thing with IN.LINE) IN.LINE = CASE MARK = 3 IN.LINE := TEMP.IN.LINE:@VM CASE MARK = 4 IN.LINE := TEMP.IN.LINE:@SVM END CASE UNTIL MARK = 0 REPEAT -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma Sent: Monday, November 17, 2008 2:19 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table That is what I was afraid of. Okay. So after listening to all of your comments (thus far since there is an annoying delay in these messages), here is what I like the best: SWAP CHAR(9) WITH IN IN.TAB SWAP CHAR(10) WITH IN IN.TAB SWAP @VM WITH CHAR(9) IN IN.TAB SWAP @SM WITH CHAR(10) IN IN.TAB REPEAT REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP CHAR(9) WITH @VM IN IN.LINE SWAP CHAR(10) WITH @SM IN IN.LINE (do my thing with IN.LINE) UNTIL MARK DO REPEAT Any objections, concerns or better suggestions for using CHAR(10) as the temporary substitute for the @SM? I just picked it because it came right after CHAR(9) on my handy-dandy ASCII chart! Been using it since the 70's. Some things just never go out of style! David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Wolverton Sent: Monday, November 17, 2008 2:52 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table If you don't want to 'swap' all the other markers with 'strings' (SWAP @VM WITH VM IN RECORD) then you have to 'build' the line item up -- keep removing until you see the remove hit the @AM and then process the line... DW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma Sent: Monday, November 17, 2008 1:24 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table Oh my goodness! This is incredible. Okay, now I have a mixture of @VM and @AM in the table. The REMOVE 'stops' at every @VM and @AM. I only want it to 'stop' at @AMs. How do I do that? David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions --- 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] concurrent connections on a pooled license
Symeon Thanks for your quick reply. I have read your thread about UO Connection Pooling stats. Could you tell me how many pooled licenses you use on that web site? How do you estimate the number of pooled licenses you needed for a web site or web application? Thanks Hugh Symeon Breen wrote: No - a pooled connection is a single dedicated connection to your iis application process. You can set the number of pools to use using UniObjects.MaxPoolSize and UniObjects.MinPoolSize. Obviously each connection pool uses a connection pool licence. If you do not use connection pooling then the process has to connect, login in, and start a udt backend and process for every request. In this scenario , if you have device licencing switched on then you can get 10 concurrent connections from your web server on the first licence and subsequent ones (11+) take a licence each. These use your normal licence users allotment. So pools are good if you have a lot traffic that is in and out of u2 very quickly. If however you are getting web traffic that is then backing up you either need to up your number of pools (expensive) or turn them off (slow) Rgds Symeon. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hugh Yang Sent: 17 November 2008 05:44 To: u2-users@listserver.u2ug.org Subject: [U2] concurrent connections on a pooled license I am using UO.NET in an ASP.NET applicaion. The application currently uses one pooled license on Unidata. When the application runs a time consuming subroutine, the applicaiton is not able to process other subroutines and hanging until the subroutine is finished. It seems like that one pooled license could only open one concurrent connection and process one subroutine at the same time. However, I am told one pooled license could open up to 10 concurrent connections, which means it can processes 10 subroutine at the same time. Is anything wrong on my web.config file or IIS configration? Thanks in advantage -- View this message in context: http://www.nabble.com/concurrent-connections-on-a-pooled-license-tp20534116p 20534116.html Sent from the U2 - Users mailing list archive at Nabble.com. --- 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 - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.3/1786 - Release Date: 16/11/2008 10:04 No virus found in this outgoing message. Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.3/1786 - Release Date: 16/11/2008 10:04 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ -- View this message in context: http://www.nabble.com/concurrent-connections-on-a-pooled-license-tp20534116p20548802.html Sent from the U2 - Users mailing list archive at Nabble.com. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] CodeSmith, .netTiers, code generation, etc
I've been doing some work with code generation using MV databases as the source and .NET classes as the target. Has anyone here been down this path? I welcome anyone interested in this topic to have a look at a new blog posting here: remove.pleaseNebula-RnD.com/blog/tech/mv/2008/11/mvcodegen1.html Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells mv.NET and other Pick/MultiValue products worldwide, and provides related development and training services --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Pentaho/ETL Toolsad?
Received this in the mail, and as it relates to the product in question (Pentaho), thought it may be relevant. The Webinar is complementary, so if you can afford the time, price is right! Event Title: Database Trends and Applications Survey Results: The Freshest BI Data from the Journal of Enterprise Data Management Date: Thursday, November 20, 2008 Time: 1:00 PM Eastern 10:00 AM Pacific Duration: 1 Hour Featured Speakers: Joseph McKendrick Lead Analyst for Trend Studies Unisphere Research Lance Walter Vice President of Marketing Pentaho -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Butera Sent: Friday, November 14, 2008 9:45 PM To: u2-users@listserver.u2ug.org Subject: [U2] Pentaho/ETL Tools We're in the midst of creating a data warehouse from our UniData databases and exploring the possibility of using Pentaho. Their ETL tool does have an entry for Universe (not Unidata), but the connection methods are JDBC, ODBC or JNDI. We don't want to create an SQL-view of Unidata merely for ETL, we'd prefer to find an ETL tool that can natively talk with Unidata. Has anyone worked with Pentaho? Any thoughts? Does anyone have ETL tools in mind that natively talk to Unidata? Jeff Butera, Ph.D. Administrative Systems Hampshire College [EMAIL PROTECTED] 413-559-5556 But Dad, I'm not listening to you. Catherine Butera --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ __ Information from ESET NOD32 Antivirus, version of virus signature database 3614 (20081114) __ The message was checked by ESET NOD32 Antivirus. http://www.eset.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] Speeding up processing through large dynamic table
David, Try this trick: A11 = DCOUNT(IN.TAB,@AM) Pos = 1 FOR A1 = 1 TO A11 IN.LINE = FIELD(IN.TAB[Pos, ], @AM, 1) Pos += COL2() *SWAP @VM WITH @AM IN IN.LINE CUST.NUM = IN.LINE1, 1 CUST.DESC = IN.LINE1, 2 NEXT A1 Thanks, David A. Green www.dagconsulting.com (480) 813-1725 -Original Message- Okay, now I have a mixture of @VM and @AM in the table. The REMOVE 'stops' at every @VM and @AM. I only want it to 'stop' at @AMs. How do I do that? David Laansma --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Speeding up processing through large dynamic table
Much as I agree with Colin's comments on simply REMOVEing the two values you want inside your loop, I can't help but think that Dave has some evil bad stuff he needs to do with the rest of IN.LINE that relies on the raised mark characters. What I'd just like to point out though is that if there is a need to change characters in the string and especially in the 85000 item IN.TAB it would be considerably better to do that with CONVERT, RAISE(), or LOWER() than to use multiple SWAPs. CONVERT CHAR(9):CHAR(10) TO IN IN.TAB Will do it all in a single pass and also since CONVERT can never extend the string it can do the whole thing in place without a bunch of malloc()s. If you were going with the original idea of processing an attribute at a time and needed to work with @AM instead of @VM, you should use IN.LINE=RAISE(IN.LINE) instead of your SWAP statement because again this will be done in a single pass without the need for malloc()ing additional memory. KEN WALLIS * [EMAIL PROTECTED] -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma Sent: Tuesday, 18 November 2008 7:19 AM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table That is what I was afraid of. Okay. So after listening to all of your comments (thus far since there is an annoying delay in these messages), here is what I like the best: SWAP CHAR(9) WITH IN IN.TAB SWAP CHAR(10) WITH IN IN.TAB SWAP @VM WITH CHAR(9) IN IN.TAB SWAP @SM WITH CHAR(10) IN IN.TAB REPEAT REMOVE IN.LINE FROM IN.TAB SETTING MARK SWAP CHAR(9) WITH @VM IN IN.LINE SWAP CHAR(10) WITH @SM IN IN.LINE (do my thing with IN.LINE) UNTIL MARK DO REPEAT Any objections, concerns or better suggestions for using CHAR(10) as the temporary substitute for the @SM? I just picked it because it came right after CHAR(9) on my handy-dandy ASCII chart! Been using it since the 70's. Some things just never go out of style! David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Wolverton Sent: Monday, November 17, 2008 2:52 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table If you don't want to 'swap' all the other markers with 'strings' (SWAP @VM WITH VM IN RECORD) then you have to 'build' the line item up -- keep removing until you see the remove hit the @AM and then process the line... DW -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma Sent: Monday, November 17, 2008 1:24 PM To: u2-users@listserver.u2ug.org Subject: RE: [U2] Speeding up processing through large dynamic table Oh my goodness! This is incredible. Okay, now I have a mixture of @VM and @AM in the table. The REMOVE 'stops' at every @VM and @AM. I only want it to 'stop' at @AMs. How do I do that? David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office:810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services, and Innovative Solutions --- 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/
[U2] Unix nfiles phantoms
G'day, We recently had an issue with nfiles on our HP-UX 11i (UV10.0.16) system, where we hadn't been increasing nfiles after adding extra UniVerse users and were getting close to the nfiles limit. We've now adjusted nfiles accordingly, but realised we don't know whether phantoms should be taken into account. The old VMARK Technical Bulletin 74-107 Maximising Performance for UniVerse Systems states For file configuration, you must set NFILE (HP-UX = nfiles) to greater than the expected number of concurrent UniVerse users times the value of NOFILES (HP-UX = maxfiles) but doesn't make any mention of phantoms. Should we add the number of permanent phantoms to the number of UV licences to work out what nfiles should be ?? Thanks, David Norman Senior Software Engineer - SA Ambulance Service ICT Services SA Health Government of South Australia Box 3, GPO Adelaide, South Australia 5001 *+61 8 8274 0384 * fax +61 8 8271 4844 * [EMAIL PROTECTED] This e-mail may contain confidential information, which also may be legally privileged. Only the intended recipient(s) may access, use, distribute or copy this e-mail. If this e-mail is received in error, please inform the sender by return e-mail and delete the original. If there are doubts about the validity of this message, please contact the sender by telephone. It is the recipient's responsibility to check the e-mail and any attached files for viruses. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
[U2] unidata hashed convert to dir?
Multi-faceted question. 1. I seem to remember a method to convert a hashed file to a dir file. Might be Universe resize syntax I am remembering. Is that functionality available in Unidata? I am using Unidata 6.1 on aix. 2. I am considering trying to keep my DICT files as DIR type so they can be versioned in svn. I am expecting a performance hit for using DIR, but the loss may be acceptable as long as it is reliable and the maintenance plus for having all our dict items, SB+ reports, etc versioned. Note I am not considering the DATA section, only converting the dictionary files. We use SB+ 5.3.8 extensively. Anyone have any better ideas how we can get proper scm in mv environments? Thanks, slestak -- View this message in context: http://www.nabble.com/unidata-hashed-convert-to-dir--tp20512285p20512285.html Sent from the U2 - Users mailing list archive at Nabble.com. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Speeding up processing through large dynamic table
As has been mentioned, UV optimizes for sequential processing of @AM delimited lists, thus greatly reducing the need for REMOVE and SELECT TO type work-arounds. Not mentioned: SWAP is virtually instantaneous. Whatever is causing the OP's process to slow down, it is not the FOR/NEXT N construct, nor the SWAPs. Here is a quick program that builds a 100,000 attribute array with two values per attribute and then reads every attribute value. The whole thing (build then read) runs in less than two seconds. Note that I first tested it by building LIST as FOR N = 1 TO MAX LISTN = XXX NEXT N Which really did really slow down as it grew. But using LIST := @AM:XXX produced the speedy result documented below. /Scott Ballinger Pareto Corporation Edmonds WA USA 206 713 6006 RUN BP SB BUILDING... START: 63682.6225 END: 63683.5232 ELAPSED: 0.9007 -- less than 1 second to build 100,000 attributes SIZE: 1277790 DCOUNT: 11 READING... START: 63683.5428 END:63683.7975 ELAPSED: 0.2547 -- about 1/4 sec to read and swap @vm to @am on 100,000 attributes. .L RELLEVEL RELLEVEL 001 X 002 10.1.4 003 PICK 004 PICK.FORMAT 005 10.1.4 CT BP SB SB 0001 *array processing test 0002 MAX = 10 0003 A0 = @(0) 0004 CL = @(-4) 0005 0006 T1 = TIME() 0007 PRINT BUILDING... 0008 PRINT START: :T1 0009 LIST = 0010 FOR N = 1 TO MAX 0011 REC = N 0012 REC1,-1 = N*10 0013 LIST := @AM:REC 0014 IF MOD(N,1000) EQ 0 THEN PRINT A0:N:CL: 0015 NEXT N 0016 T2 = TIME() 0017 PRINT A0:END: :T2:CL 0018 PRINT ELAPSED: :T2-T1 0019 0020 PRINT 0021 PRINT SIZE: :LEN(LIST) 0022 PRINT DCOUNT: :DCOUNT(LIST,@AM) 0023 PRINT 0024 0025 PRINT READING... 0026 T1 = TIME() 0027 PRINT START: :T1 0028 FOR N = 1 TO MAX 0029 REC = LISTN 0030 CONVERT @VM TO @AM IN REC 0031 THING1 = REC1 0032 THING2 = REC2 0033 IF MOD(N,1000) EQ 0 THEN PRINT A0:N:CL: 0034 NEXT N 0035 T2 = TIME() 0036 PRINT A0:END::T2:CL 0037 PRINT ELAPSED: :T2-T1 0038 --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/