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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
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 =
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
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:
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
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
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
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
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,
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-
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 =
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
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
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
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/
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 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
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
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
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
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
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
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 =
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
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
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
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
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:
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:
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
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
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
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
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
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,
49 matches
Mail list logo