I wrote a paragraph called ML to use MERGE.LIST on saved lists - much easier
than assembling the lists manually.
PA
* ML type list1 list2 list3
* I2,TYPE
IF TYPE = U THEN GO THERE
IF TYPE = D THEN GO THERE
IF TYPE = I THEN GO THERE
DISPLAY
DISPLAY Command Format is
DISPLAY ML type list1 list2
Hi,
LeRoy Dreyfuss said that you would have to change 52 to 12 for EXIST to work.
The globally cataloged programs have an extra 40 characters put on the front,
so that would cause a problem.
@RECORD[1,4] is a count of the number of times the program has been used.
@RECORD[5,8] is who
Hi Wil,
That indeed was my code - ten years old now!
I think I read the same article as Kevin. I don't use it in my day to day
programming (which is in Universe and QM, thus using @TRUE and @FALSE) but I
think I still would use it for Pickwiki. Just a style thing - de gustibus non
disputandum
DBTA has always been sympathetic to the MV market.
I note not only Rocket but also Entrinsik, Kore, Mpower1, Pickcloud, Revelation
in the list
Regards, Keith
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
Hi Phil,
If it's just a matter of turning a two-step process into one step, would a
Paragraph be reasonable? Just thinking of something along the lines of...
PA
IF I2,File = '' THEN GO ENDIT
IF I3,IType = '' THEN GO ENDIT
IF I4,ExportDirectory = '' THEN GO ENDIT
IF I5,Datadump.dat = '' THEN GO
No-one seems to have done it, but here's my version of the code.
It's strange, I don't have a problem with CONTINUE and I don't even mind
IF SOMETHING ELSE THIS = THAT
which a lot of people really hate, but I just HAD to reverse the IF/CASE
statement order.
SUBROUTINE REXY(RECORD,TEXT)
Universe gives a slight lead to -1 too.
Also, it compiles Y = Y:CHAR(254):I and Y := CHAR(254):I to exactly the same
thing. I checked with VLIST and even edited the compiled code to be sure.
ALSO (and this surprised me) it doesn't support ROUNDS *= 2
The documenation (Universe BASIC 2-25)
I just noticed this in the help for QM's SYSTEM()
1000 Returns 1 if EXECUTE CAPTURING is in effect, 0 otherwise
Checked if this was an undocumented feature that Martin had reproduced; but no,
it doesn't work in Universe.
Regards, Keith
___
Hi John,
I'm on an SB+ site on Universe which is completely unrelated to Epicor. Our
QUIT is an exact copy of SH.OFF, which is a local catalogue pointer to the
program code.
I believe SH.OFF tidies up various SB+ stuff and then chains to OFF, and that
this is the standard behaviour of SB+
Doug may have had a key bounce in his input
Let's do the math:
258687736 (Record Size)
192283300 (Key Size)
The key size is actually 19283300 in Chris' figures
Regarding 68,063 being less than the current modulus of 82,850. I think the
answer may lie in the splitting process.
Hi Doug,
Another way to skin the cat-
Check the @LEVEL in the error display program and if it's not 1 use a timed
input.
Unidata has INPUT WAITING, while for Universe, there is a program do do the
same at
http://www.pickwiki.com/cgi-bin/wiki.pl?InputWait
Perhaps do the timed input anyway with
Hi Kebbon,
I don't like Procs, but
* Set the primary input buffer as active
SP
* Activate the primary output buffer
STOFF
* Alternatively, clear both output buffers and make the primary the active one
RO
* Set the input buffer pointer to the first (or whatever) parameter
S1
* Move a
If the multivalues have many many values, and you are adding to the end, then a
speed up may be possible.
MATREAD in the data, RAISE those array elements you are changing. Before the
MATWRITE, LOWER all array elements you raised.
As I understand it, Universe keeps internal track on
Just to be annoyingly pedantic - the second code snippet is missing an END
FOR I = 1 TO X
do something
IF some condition THEN CONTINUE
do something else
NEXT I
Versus
FOR I = 1 TO X
do something
IF NOT(some condition) THEN
do something else
NEXT I
Hi Wil,
They can't do that because then their line editor would break - It has 58
occurances of RETURN TO
Message: 27
Date: Fri, 27 Apr 2012 08:38:05 -0400 (EDT)
From: Wjhonson wjhon...@aol.com
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] The RETURN TO statement was the CONTINUE
I never used it in anger, but I was rather drawn to the Presley-friendly form
SENDER: RETURN TO SENDER
I actually used the following progam a long time ago, but only to test that
EQU...LIT... workedhow I thought it did.
Try it - Press T a few times then X and watch it unwind the call stack.
Hi Will,
As I said, I don't use it myself, but a reason one might use
it is that one can easily cut and paste (or include) logic.
For example:
---
LOCKED
put
some
generic
logic
here
END
---
regards, Keith
WJohnson wrote:
Why the extra lines? Why not just
I think the UNTIL should be in behind NEXT A2, rather than on the FOR line.
Hoping to lighten the day...
BAIL = 0
FOR A1 = 1 TO XYZZY
FOR A2 = 1 TO Y
little twisted logic
IF G # H THEN BAIL = 51 ;* error code
UNTIL BAIL DO
twisted little logic
I prefer the layout of
IF A = TEST
THEN GOSUB DO.SOMETHING ;* Say why
ELSE GOSUB DO.SOMETHING.ELSE ;* The reason
However, here is a form that's rarely used, but does work.
IF A = TEST
THEN ;* say why in a long-winded manner
GOSUB DO.SOMETHING
END
If anyone DOES want the equivalent of Unidata's INPUT... WAITING for Universe...
http://www.pickwiki.com/cgi-bin/wiki.pl?InputWait
Regards, Keith
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
The examples as given were not equivalent.
THE.READ = STR('0',DIALS-LEN(THE.READ)):THE.READ
versus
THE.JUST = R#:LEN(THE.READ); THE.READ = THE.READ THE.JUST
Apart from the % to # change, the second example ignores DIALS and justifies
within the length of THE.READ
I assume the second one
I'm curious; was the university in Florida Barry University?
Someone I worked with years ago went there as a Pick programmer.
The following code might be helpful
subroutine ucsv(result,source,status,is.oconv)
*
* Public Domain program for OpenQM by Keith Johnson 2012
*
* OCONV Converts
Mr Castro's code wins. Pure elegance.
Marco Antonio Rojas Castro - initials M.A.R.C.
My uncle's name is Roy Owen Young - I tease him it's so he can remember it.
Regards, Keith
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
Dave Laansma took a more generic approach which does not require
knowledge of the date format - hence I thought it preferable.
My style would move the addition and subtraction around as below
I assumed one would want the last day of the month for any called date
otherwise uncomment line 2
This program works for Universe on a UNIX machine giving three commands
PATH FULL would give aprompt like /usr/ibm/uv
PATHwould give a prompt like uv
PATH CLEAR would give a prompt like
PROGRAM PATH
It's not all that simple, but try
http://www.pickwiki.com/cgi-bin/wiki.pl?FieldInput
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
The problem may be in the use of program variables in the executed code.
Using Universe, if I have code:
VERB = 'SELECT VOC LIKE A...'
EXECUTE VERB
CRT @SELECTED
CLEARSELECT
I get the result
237 record(s) selected to SELECT list #0.
237
If I change the filename to something that doesn't exit,
The latest version I use has a copy at
https://sites.google.com/site/nzpickie/home/programs
It has a BLEACH command to turn colour on and off - named after Brian Leach who
let me steal his method!
The colour options are based on HostAccess - other terminals have different
methods.
Modifying
I liked Brian's
IF (TEA : EAT : ATE) # '' THEN CUM(M) = TEA + EAT + ATE
It looks neater in VLIST - don't know if it's faster. multi_cat might be a
beast
2: IF (TEA : EAT : ATE) # '' THEN X = TEA + EAT + ATE
2 00012 : 104 multi_cat TEA EAT ATE = $R0
2 0001E : 106 ne
Lots of things I didn't think of... My last try
001: MONTHLY.USAGE:
002: CM = MONTH + LY.CNT
003: TEA = RAISE(PARMS(12)101)
004: EAT = RAISE(PARMS(12)133)
005: ATE = RAISE(PARMS(12)134)
006: YAM = RAISE(PARMS(7)100)
007: AMY = RAISE(PARMS(7)101)
008: MYA = RAISE(PARMS(7)102)
009: FOR M = 1 TO 12
Agreed that the dimensioned extract wouldn't make much difference, still the
attributes numbers are quite high.
The code below goes from 15 extracts maximum per for-next loop to 6.
I can't help but think this might mean something if it takes 90 minutes to run.
001: MONTHLY.USAGE:
002: CM =
We stop and start the Universe database and do a UNIX backup, so either
ps -e -o etime -o comm | grep uvdlockd
Or
ps -e -o etime -o comm | grep unirpcd
Seem to be reasonable ways of seeing how long it's been up
Regards, Keith
David Norman asked for a timed input for Universe. There is a program
to replicate the Unidata timed input at
http://www.pickwiki.com/cgi-bin/wiki.pl?InputWait
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
Mark Johnson suggested the following change
Before
GOOD.ANS=FALSE
LOOP UNTIL GOOD.ANS DO
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN GOOD.ANS=TRUE REPEAT
after
LOOP WHILE TRUE DO
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN EXIT
REPEAT
These forms all work
LIST POH F1 WITH F1 = 000700
will do a numeric comparison if it can. You can force a string
comparison by using
LIST POH F1 WITH F1 LIKE '000700'
That is; double quote, single quote, zero, zero, zero, seven, zero,
zero, single quote, double quote.
Regards, Keith
---
u2-users mailing list
Baker Hughes wrote
The man (person) who writes a PROC interpreter/conversion utility that
can take a PROC and turn it into either Basic, or a PAragraph, will have
a product to sell...
I tried really really really hard to do this a few years ago. The code
got more and more complicated until I
Following on from Mike Henderson's post...
Maybe the best idea is to use GETXMLSUB itself as your subroutine call.
It handles the case where the XMLExecute function returns a fail status,
but a subsequent XMLGetError function doesn't have an error code by
assigning a new error code of 80120 and
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
Assume one has PROGRAM in USUAL.BP.
Write NEW.PROGRAM in DOUGS.BP with this at the beginning.
001 SUBROUTINE PROGRAM(V1,V2,V3...)
002 *
003 IF @LOGNAME NE DOUG THEN
004CALL ORIG.PROGRAM(V1,V2,V3...)
005RETURN
006 END
007 * continue with the new program
At TCL do these
Michael Rajkowski wrote
First, capturing the XML to a hold file is not the way to get
an XML file.
Someone really ought to put this into the documentation! Retrieve
manual page 6-17 specifically states
Note: UniVerse does not store the XML document unless you
execute the COMO
Using VLIST to compare old and new programs is a good idea.
You're probably OK on 10.1, but if you want to do this in future, be
aware that VLIST may crash on UV 10.2 when used on older programs. If
this happens, change the 8th character from 000 to 016. VLIST may then
work, although the code
The software I am supporting has a user screen which builds and saves
enquiry statements (English/Access/Recall). I recently created another
screen to allow users to use the defined statement/report to output XML
to the HOLD file and to transfer the results to their PC. All well
and good, but
On Mon, 10 Mar 2008, Jerry Banker wrote...
If you ever want a scare then go through the programs in the Universe
BP
file. Some are upper case program lines with mixed case comments and
prompts, the way I prefer it, some are all lower case, some are mixed
case, and some are a mixture of all
In Universe, the following program (called PATH) will do this.
To use it, just put PATH in the LOGIN command.
PATH CLEAR puts things back to how they were.
PATH FULL gives the full path name at the input prompt.
== PATH program v
SENTENCE = UPCASE(@SENTENCE)
THIS = '' ;
These might be useful. To save typing, I decided to use Q for QUOTE, C
for COMMA and T for TAB. And since I thought it likely that I would use
QUOTE COMMA QUOTE (or Q C Q) a lot, I also set up D (for DELIMITER) as
below. Also q and d which use double quotes.
Top of D in VOC, 20 lines, 108
Dave Barret gave this code as an example:
GOSUB OPERATION.1
IF (NOT(ERROR)) THEN
GOSUB OPERATION.2
IF (NOT(ERROR)) THEN
GOSUB OPERATION.3
IF (NOT(ERROR)) THEN
GOSUB OPEARTION.4
END
END
END
A big Thank You to everyone for the information.
In the end it was straightforward, but I stumbled on a couple of the
steps. Maybe this will help others
Firstly, I wanted the code to be locally, not globally, cataloged. Our
CATALOG verb has PICK.FORMAT rather than INFORMATION.FORMAT on line
6,
Thanks for putting up the right link, Thomas. (dammit, I must measure
BEFORE cutting... measure BEFORE cutting... hit self)
To answer Ed's questions,
1. nap 5 sleeps for 5 milliseconds. It may not be necessary, so you
could comment it out and see how that goes. If you do get comm. delay
that
Hi Mark,
Just a couple of points.
First, the value of F200.SCHEME.CODE of CK *cannot* trigger a false
positive.
TEST = '\AF1\CK1\CK2\H\LHC\MP\NU1\NU2\TK1\TK2\'
IF INDEX(TEST,'\':F200.SCHEME.CODE:'\',1) THEN THAT = @FALSE
is fairly bulletproof because of the backslashes around both the
Craig Bennett pointerd out that
TEST = '\AF1\CK1\CK2\H\LHC\MP\NU1\NU2\TK1\TK2\'
IF INDEX(TEST,'\':F200.SCHEME.CODE:'\',1) THEN THAT = @FALSE
*can* generate a false positive if F200.SCHEME.CODE contains an embedded
slash. In this case it can't, because the F200.SCHEME.CODE is validated
on
Hi,
I'm hoping someone can give me some help on triggers. I want to put a
trigger on a file to datestamp address changes.
The system manual (25119270.pdf) says that triggers aer set up by the
command
CREATE TRIGGER trigger.name [BEFORE|AFTER|UPDATE]
But when I try that I get an SQL prompt.
Here's an example of how I rewrote some code.
Old version
284: * IF F200.SCHEME.CODE = CK1 OR F200.SCHEME.CODE = CK2
OR F200.SCHEME.CODE = NU1 OR F200.SCHEME.CODE = NU2 OR
F200.SCHEME.CODE = TK1 OR F200.SCHEME.CODE = TK2 OR F200.SCHEME.CODE
= GS1 OR F200.SCHEME.CODE = JM OR
Al DeWitt had a need for a utility to search the dictionaries.
I had to write one a little while ago - to look for SB+ stuff, as it
happens.
PROGRAM FIND.DICT
* This program searches the data dictionary section
* of every file in the VOC for a string
CRT 'INPUT STRING ':
INPUT
Neil suggested using LOCATE rather than INDEX in my example.
I'm not sure I agree that would be any less complex as far as the code
is concerned. INDEX and LOCATE are both 'complex' compared with the IF
statement, and since LOCATE needs its SETTING variable, it's arguably
the more complex
Hi Bill,
There is a vague memory at the back of my mind that SYSTEM(14) could be
problematical. Would it work in your circumstance to change the last
line to use the INPUT ..., -1 mechanism? EG
* UNTIL NOT(SYSTEM(14)) DO REPEAT ; **
UD version
INPUT
Wol wrote
INT (DAY / 365.25)
will always give the correct number of years since day 0.
The following shows that is not strictly true because of the centennial
non-leap year.
Test Program
001: ZZ = 0
002: FOR XX = 1 TO 5
003: Y1 = 1968 + INT((XX-1)/365.25)
004: Y2
data transfers a bear. Have
you looked for things like this?
-Keith Johnson
LCSC
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Adrian Merrall
Sent: Thursday, July 12, 2007 5:28 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Copying from AIX box
It's always annoyed me that WRITE permissions were not handled better.
Even under R83, one could set up a file with a user able to read, but
not write to it (file definition attributes 5 and 6, I think?). If a
WRITE was encountered and the permission was not correct, the program
would just crash
I don't know if there's any interest in this, but I have found a very
short program where the old compiled version causes a problem with
VLIST. Here are the details
The old compiler version was 9.3.1.2, the new one 10.2.0.0
001: $OPTIONS -F L ;*WR631
002: *
003:
Hi Leroy,
Thanks for your comments.
I figured it might be a problem with opcode changes. My problem is that
I'm not certain that the source code we have is correct. To
recapitulate -
* We have old object in production.
* We have no source code in production
* We have source
Leroy wrote
Are you able to copy the object from your live system to your dev
system to see if VLIST aborts there?
Because of the big upgrade in SB+ and the fact we were also upgrading
Universe, we upgraded the test system first to see what problems it
would bring. Actually we built a temporary
Hi there,
We have just upgraded both Universe and System Builder, going from UV
10.1.8 to 10.2.0 and from SB+ 3.4 to 5.4.
Because the SB+ common block changed slightly, I had to recompile all
programs that referenced it. However, I have discovered that not all
the source code was on the
Jeff Fitzgerald wrote
Could you give us an example of that -- I don't seem to be able to get
it to work:
I remember in the past being able to use the form SET.INDEX FAST.STATS
TO ./I_FAST.STATS. However, now one has to use the key word
RELATIVE.PATH like this
SET.INDEX FAST.STATS TO
As I recall, neither U2 console understands screen addressing - which
means you can't run most of the applications I've written from the
console. To my mind this means that someone can't just run U2 'out of
the box' and get a thing that works. They will have to connect to a
terminal emulator or
Brian Leach wrote
snip
1. Before you take a copy of the file in Explorer, check whether it has
any indexes.
If a file has secondary indexing, UniVerse holds the absolute path to
the index in the file header. You must use SET.INDEX to either change or
remove that path on the history file,
Hi there,
There is a utility program at
http://www.pickwiki.com/cgi-bin/wiki.pl?FileStatus to show the file
STATUS stuff in a usable manner. You may also be interested in FILEINFO
stuff which is at http://www.pickwiki.com/cgi-bin/wiki.pl?FileInfo
Regards, Keith
---
u2-users mailing list
a crontab call it once a
day/ hour etc.
Keith Johnson IT
Lewis-Clark State College (LCSC)
208 792 2510
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Scott Ballinger
Sent: Thursday, October 05, 2006 9:38 AM
To: u2-users@listserver.u2ug.org
Subject: [U2
Andy,
I am not entirely sure on your first part of your question. But I would
say no to the second. UNIDATA is per seat use not per CPU. At least in
the UNIX side of things.
-Keith
Keith Johnson IT
Lewis-Clark State College (LCSC)
208 792 2510
-Original Message-
From: [EMAIL
Funny it just showed up to my box,,, I swear
I did not see the date sorry for the late post -KJ
Keith Johnson IT
Lewis-Clark State College (LCSC)
208 792 2510
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Roger Glenfield
Sent: Monday, June 19
Cedarville university has a program called DOWNLOAD that can do both
file types and others that works perfectly with UNIDATA... (It has
never error-ed on me in 5 yrs.)
It is free for higher ED institutions. I am not sure about the rest of
the world... I bet it would work well for you. It can
I do not think so; we were on that for a short time. I usually load
only once a year for OS and UNIDATA. We went from 5.2 to 5.3 for two
weeks then when to UNIDATA 6.14 or something like that. Now 7.+ is
available for UNIDATA
-Keith Johnson
Lewis-Clark State College
Lewiston, ID
208 792 2510
Please post; I would like this information too.
-Keith Johnson
LCSC.
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Kathy Tymoczko
Sent: Wednesday, October 26, 2005 2:09 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] [UD] how to find records
Hi all,
We are about to go to RFP for a new box. How does this change the
dynamics if you use/or are looking at IBM's LPARS or virtual server
technology?
-Keith Johnson
Lewis-Clark State College
500 8th Ave.
Lewiston, ID. 83501
208 792 2510
-Original Message-
From: [EMAIL PROTECTED
I'm re-developing my field entry program and would like to test it in UVPE
on Windows NT. However the console does not have screen addressing or clear
screen, etc. Has anyone got a way of getting around this?
Regards, Keith Johnson
now ex-Owner/Host
www.emeraldglenlodge.co.nz
04 299 3066
was a particularly keen exponent of the usage - which
implies that Reality should support it.
Regards, Keith Johnson
Owner/Host
www.emeraldglenlodge.co.nz
04 299 3066
---
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/
Hey can we stop this (flaming) BS; this is a waist of time to read;
sorry to add to the thread in such a nonproductive way.
PS there is always two sides to every story. Yours, mine and the truth;
quote the lyric...
Keith Johnson
Systems AdministratorProgrammer
and the shell.
Keith Johnson
Systems AdministratorProgrammer / Analyst
Lewis-Clark State College (LCSC) 208.792.2510
500 8th Ave.
Lewiston, ID 83501
-Original Message-
From: Dana Baron [mailto:[EMAIL PROTECTED]]
Sent: Monday, May 03, 2004 9:35 AM
To: U2-Users
Subject: [U2] PHANTOM
77 matches
Mail list logo