RE: [U2] SELECT-READNEXT That's odd

2008-11-17 Thread Anthony Youngman
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

2008-11-17 Thread Symeon Breen
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

2008-11-17 Thread Tony G
 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

2008-11-17 Thread Mats Carlid
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)

2008-11-17 Thread Adrian Merrall
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

2008-11-17 Thread MAJ Programming
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

2008-11-17 Thread Charles_Shaffer
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

2008-11-17 Thread Charles_Shaffer
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

2008-11-17 Thread Symeon Breen
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

2008-11-17 Thread Les Hewkin
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

2008-11-17 Thread Charles_Shaffer
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

2008-11-17 Thread George Gallen
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

2008-11-17 Thread Charles_Shaffer
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

2008-11-17 Thread Glen Batchelor
  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

2008-11-17 Thread David Laansma
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

2008-11-17 Thread Joshua Gallant
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

2008-11-17 Thread u2ug
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

2008-11-17 Thread George Gallen
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

2008-11-17 Thread David Beaty
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

2008-11-17 Thread Marvin R. Fisher
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

2008-11-17 Thread Mecki Foerthmann

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

2008-11-17 Thread Dave Laansma
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

2008-11-17 Thread George Gallen
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

2008-11-17 Thread Symeon Breen
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

2008-11-17 Thread Allen Egerton

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

2008-11-17 Thread Tom Dodds
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

2008-11-17 Thread Anthony W. Youngman
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

2008-11-17 Thread David Wolverton
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

2008-11-17 Thread Charles_Shaffer
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

2008-11-17 Thread Marvin R. Fisher
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

2008-11-17 Thread Marvin R. Fisher
 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

2008-11-17 Thread Dave Laansma
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

2008-11-17 Thread Steven Horwitz
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

2008-11-17 Thread Charles_Shaffer
 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

2008-11-17 Thread George Gallen
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

2008-11-17 Thread Tony G
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

2008-11-17 Thread BNeylon
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

2008-11-17 Thread Tony G
 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

2008-11-17 Thread Marvin R. Fisher
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

2008-11-17 Thread George Gallen
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

2008-11-17 Thread David Wolverton
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

2008-11-17 Thread Hugh Yang
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

2008-11-17 Thread Tony G
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?

2008-11-17 Thread Ross Ferris
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

2008-11-17 Thread David A. Green
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

2008-11-17 Thread Ken Wallis
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

2008-11-17 Thread Norman, David (SAAS)
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?

2008-11-17 Thread slestak
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

2008-11-17 Thread Scott Ballinger
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/