Re: [U2] Unwanted Duplicates

2012-04-09 Thread Shaun.Ferguson
Use the UNION keyword in MERGE.LIST.

GET.LIST LIST 1 TO 1
GET.LIST LIST2 TO 2
MERGE.LIST 1 UNION 2

If you are using UniData, use ECLTYPE U not ECLTYPE P.

get.list LIST1 TO 1
get.list LIST2 TO 2
merge.list 1 UNION 2

From HELP:
Note: UniQuery only supports MERGE.LIST is in ECLTYPE U.
Note: The INTERSECTION and UNION operators build a list of unique
items. If an item exists in list1 and list2, it is saved only once

Shaun Ferguson
Information Technology, Application Architect I
Ferguson Enterprises, Inc.
12500 Jefferson Avenue * Newport News * VA * 23602-4314
T: +1 (757) 989 2916 * F: +1 (757) 989 2801
www.ferguson.com http://www.wolseley.com/ 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Entering a Value Mark

2012-02-14 Thread Shaun.Ferguson
Sorry for the late reply but have been under the weather.  I believe you
can enter ^253  (that's shift-6 carat and number 253) to get a value
mark into an attribute.

Shaun Ferguson
Information Technology, Application Architect I
Ferguson Enterprises, Inc.
12500 Jefferson Avenue * Newport News * VA * 23602-4314
T: +1 (757) 989 2916 * F: +1 (757) 989 2801
www.ferguson.com http://www.wolseley.com/ 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] UniData Triggers

2011-06-14 Thread Shaun.Ferguson
We are creating a trigger on a file that is used extensively in the
system.  Is it necessary to logoff users when creating an update trigger
on a file or does UniData handle that when updating
the trigger information to the header of the file?  The 'help' does not
specify whether trigger creation requires exclusive access to the file
or not.

Thanks!

Shaun Ferguson
Applications Architect I
Wolseley Group Services - 12500 Jefferson Avenue - Newport News - VA -
23602-4314
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.com
www.wolseley.com blocked::http://www.wolseley.com/ 
Wolseley plc registered office Parkview 1220 Arlington Business Park
Theale Nr Reading RG7 4GA United Kingdom
Registration No. 29846 England 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UniData Triggers

2011-06-14 Thread Shaun.Ferguson
Thank you for your replies!  We also make use of master trigger
subroutines that call subroutines so that is not an issue.  I just
wanted to be sure that the initial creation of an update trigger
on a file would not affect current logged in users with that file open.
We'll do the creation in the w hours of morning to mitigate the
risk, but I'm seeing that should not be any, at least
on an update trigger.  I can imagine that a delete trigger could have
some risk.

Thanks again!

Shaun Ferguson
Applications Architect I
Wolseley Group Services - 12500 Jefferson Avenue - Newport News - VA -
23602-4314
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.com
www.wolseley.com blocked::http://www.wolseley.com/ 
Wolseley plc registered office Parkview 1220 Arlington Business Park
Theale Nr Reading RG7 4GA United Kingdom
Registration No. 29846 England 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] html 2 xls

2011-04-25 Thread Shaun.Ferguson
Anyone know of a conversion tool that will take html and produce xls
(Excel spreadsheet) formatted files?
We are running UniData on HPUX but could probably use a utility on a
windows server if necessary.

Thanks!

Shaun Ferguson
Applications Architect I
Wolseley Group Services - 12500 Jefferson Avenue - Newport News - VA -
23602-4314
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.com
www.wolseley.com blocked::http://www.wolseley.com/ 
Wolseley plc registered office Parkview 1220 Arlington Business Park
Theale Nr Reading RG7 4GA United Kingdom
Registration No. 29846 England 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Very Weird Trigger Behavior

2011-04-22 Thread Shaun.Ferguson
HP Itanium
UniData Release 7.1
Basictype p

Records cannot be deleted from TCL (ECL?) even with a select list
active:

1 records selected to list 0.

DELETE COUNTY
Do you want to delete records in select list?(Y/N) Y
'KEY':cannot be deleted, due to trigger constraint.

---

Wow! This is really similar to what I'm trying to do. What is your: OS,
Unidata version, BASICTYPE?

Also, are you having success with both ECL DELETEs and UniBasic DELETEs?

Thanks!

Jonathan


Shaun.Ferguson wrote:
 
 We are doing this with a county and zip file - the trigger is on the
 county file and a record cannot be deleted if it's referenced in the
zip
 file:
 
 SUBROUTINE TRIG.COUNTY.DEL (EXECSTAT, DICTFLAG, FILENAME, COUNTY_ID)
 EQU DELETE_DENIED  TO 0
 EQU DELETE_ALLOWED TO 1
 
 EXECSTAT = DELETE_DENIED
 
 IF (UNASSIGNED(FILENAME) OR (FILENAME NE COUNTY)) THEN
RETURN
 END
 IF (UNASSIGNED(COUNTY_ID) OR (TRIM(COUNTY_ID) EQ )) THEN
RETURN
 END
 
 CMD = 'SELECT P_ZIP WITH COUNTY_ID EQ ':COUNTY_ID:''
 ZIP_LIST = 
 EXECUTE CMD RTNLIST ZIP_LIST CAPTURING OUTPUT
 
 IF @SYSTEM.RETURN.CODE EQ 0 THEN
EXECSTAT = DELETE_ALLOWED
 END
 RETURN
 
 Shaun Ferguson
 Applications Architect I
 Wolseley Group Services - 12500 Jefferson Avenue - Newport News - VA -
 23602-4314
 T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.com
 www.wolseley.com blocked::http://www.wolseley.com/ 
 Wolseley plc registered office Parkview 1220 Arlington Business Park
 Theale Nr Reading RG7 4GA United Kingdom
 Registration No. 29846 England 


Shaun Ferguson
Applications Architect I
Wolseley Group Services - 12500 Jefferson Avenue - Newport News - VA -
23602-4314
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.com
www.wolseley.com blocked::http://www.wolseley.com/ 
Wolseley plc registered office Parkview 1220 Arlington Business Park
Theale Nr Reading RG7 4GA United Kingdom
Registration No. 29846 England 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Very Weird Trigger Behavior

2011-04-21 Thread Shaun.Ferguson
We are doing this with a county and zip file - the trigger is on the
county file and a record cannot be deleted if it's referenced in the zip
file:

SUBROUTINE TRIG.COUNTY.DEL (EXECSTAT, DICTFLAG, FILENAME, COUNTY_ID)
EQU DELETE_DENIED  TO 0
EQU DELETE_ALLOWED TO 1

EXECSTAT = DELETE_DENIED

IF (UNASSIGNED(FILENAME) OR (FILENAME NE COUNTY)) THEN
   RETURN
END
IF (UNASSIGNED(COUNTY_ID) OR (TRIM(COUNTY_ID) EQ )) THEN
   RETURN
END

CMD = 'SELECT P_ZIP WITH COUNTY_ID EQ ':COUNTY_ID:''
ZIP_LIST = 
EXECUTE CMD RTNLIST ZIP_LIST CAPTURING OUTPUT

IF @SYSTEM.RETURN.CODE EQ 0 THEN
   EXECSTAT = DELETE_ALLOWED
END
RETURN

Shaun Ferguson
Applications Architect I
Wolseley Group Services - 12500 Jefferson Avenue - Newport News - VA -
23602-4314
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.com
www.wolseley.com blocked::http://www.wolseley.com/ 
Wolseley plc registered office Parkview 1220 Arlington Business Park
Theale Nr Reading RG7 4GA United Kingdom
Registration No. 29846 England 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UV retrieve

2011-01-05 Thread Shaun.Ferguson
Have you tried specifying dictionary items in the list command?

EX;  LIST ANYFILE F1 F5 USING DICT VOC

Shaun Ferguson
Master Data Systems Analyst
Wolseley Group Services - 12500 Jefferson Avenue - Newport News - VA -
23602-4314
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.com
www.wolseley.com BLOCKED::http://www.wolseley.com/ 
Wolseley plc registered office Parkview 1220 Arlington Business Park
Theale Nr Reading RG7 4GA United Kingdom
Registration No. 29846 England 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UD: Phantoms

2010-04-02 Thread Shaun.Ferguson


I am on digest, so apologies if this is a duplication of a suggestion
made earlier.  We tend to use plain old record locks for our phantom
processes.
The record won't list but if you try to edit it, it will come back as
locked and prevents a second instance of the process from running.

Ex;

* Set an exclusive record lock or exit if already running
RECORDLOCKU F.FILENAME,BACKGROUND.SERVICE LOCKED
   * Send a message if necessary
   STOP
END

Also, for sleeping phantoms, I've found the LIST.PAUSED command helpful
to at least see if they are there.  It's not helpful at all for what
they're running or where they're running.

Shaun Ferguson
Systems Analyst
Ferguson Enterprises, Inc.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] 2 cents

2009-10-16 Thread Shaun.Ferguson
Amazing that almost entire digest posts have been dedicated to helping
one individual (Mr Walgude of Rsystems, International, ltd) with one
piece of logic in UniBasic.  I can't imagine what it's going to be like
when more of these questions are asked.  Will we still have a viable UG
helping each other or will we be teaching our competition how to bring
this work overseas?  Sigh, I guess it's inevitable...
Don't mind me, having one of those years...(And I'm on digest, btw)

Shaun Ferguson 
Master Data Systems Analyst/Global Business Applications 
Wolseley plc - 12500 Jefferson Avenue - Newport News - VA - 23602-4314 
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.com
www.wolseley.com
file:///C:/Documents%20and%20Settings/SFERGUS1/Application%20Data/Micro
soft/Signatures/www.wolseley.com  


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Error 4 22 from PHP exec of uv on AIX

2009-07-27 Thread Shaun.Ferguson
Sorry, I'm on digest...
Does the user executing this command have a profile setup with the paths to 
Universe?  I've been working in UniData so it may be different, but the user 
has to have their environment setup to the correct paths to UniData bin, etc 
(UDTBIN = /blablabla/ud/bin).

Shaun Ferguson 
Master Data Systems Analyst/Global Business Applications 
Wolseley plc - 12500 Jefferson Avenue - Newport News - VA - 23602-4314 
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.comĀ  
www.wolseley.com 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Triggers and Account Copy

2009-06-02 Thread Shaun.Ferguson
Triggers on files usually call subroutines that do something, update an audit 
file or check for consistency or add an item to a queue, for example.
As long as the trigger subroutines are accessing local files in the test 
environment and the main trigger subroutines are cataloged globally, you should 
be fine.  You can substitute any other called subroutines within the main 
subroutine locally and make them 'stub' programs if necessary.  There is no 
reason to remove the triggers on the files with a plain 'cp' command.
Just make sure that the subroutines are not updating production data anywhere 
and that all file opens are to local files in your test environment.

Shaun Ferguson 
Master Data Systems Analyst/Global Business Applications 
Wolseley plc - 12500 Jefferson Avenue - Newport News - VA - 23602-4314 
T: (757) 989-2916 - F: (757) 989-2801 - E: shaun.fergu...@wolseley.comĀ  
www.wolseley.com 
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Index Rebuilding

2007-02-07 Thread Shaun.Ferguson
I'm on digest, so sorry for the delay.  Indexes on UniVerse and UniData
are different.  UniVerse will stop you from creating them if the file is
open by any process
(very good!).  UniData will go on it's merry way and create the index
even if the file is open by another process.  You run the BUILD.INDEX
command and all looks
fine.  Then you add more records to the file and the index appears
broken.  Your new records are not accounted for.  On UniData, you must
be absolutely sure
that the file is not open when you create the index.  On unix, I use
fuser -u [path to file].  I do not know the equivalent on Window$.
Indexes have become very
stable and accurate if created properly.  As mentioned earlier, best not
to use I or V dictionary items, if possible (especially TRANS or
file OCONV's), and
better to use the key and null in a boolean expression (using NO.NULLS
at creation) instead of a 1 and 0.  Just my 2 cents...

Shaun
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] UniData Dynamic File Behavior

2007-01-10 Thread Shaun.Ferguson
Hello and happy new year!

HpUx 11.11 - UniData 6.1.18 - We have a dynamic file created with
KEYDATA using the default split/merge of 95/40.

Monday night, an automated purge process kicked off removing approx.
310,000 plus records from this file.  On Tuesday, the
process was still running and the file was consuming disk space at an
alarming rate.  We are mystified why the deletion
of records from a dynamic file would cause it to grow.  It essentially
split to the point of more than doubling in size (started
with 3 'dat' files and 1 'ovr' file and grew to 8 'dat's and 1 'ovr').
When we resized the file in the wee hours of the morning, we
reclaimed approx. 10 gig of disk space.  Does anyone know what would
cause a dynamic file to grow when removing records?

TIA!

Shaun P. Ferguson
Sr Program Analyst
Ferguson Enterprises, Inc.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] RE: reindexing

2006-11-16 Thread Shaun.Ferguson
Jeff,

You did not mention the flavor of U2, but I know that on UniData, if the
file is open by anyone, the index does not
function properly even though it appears to have performed your indexing
commands without error.  UniVerse, on the
other hand, complains that the file is not available to create indexes
on when it's open...

On unix, I use 'fuser -u [pathtofile] to see if it's in use prior to
creating an index.  Just one of those things
that I wish UniData did for me...sigh...

Shaun


Date: Wed, 15 Nov 2006 23:00:29 -0500 (EST)
From: Jeff Butera [EMAIL PROTECTED]
Subject: [U2] reindexing

I have a file with various indicies built on it:

File..  COURSES
Alternate key length..  20
Node/Block size...  4K
OV blocks.  1 (1 in use, 1 overflowed)
Indices...  6 (6 D-type)
Index updates.  Enabled, No updates pending

Index-Name..  F-type K-type Built Empties Dups In-DICT S/M 
F-no/VF-expr
CRS.SUBJECT   D  TxtYes   No  Yes  Yes S   12
CRS.NOD  TxtYes   No  Yes  Yes S   16
CRS.TERMS.OFFERED D  TxtYes   No  Yes  Yes M   20
CRS.NAME  D  TxtYes   No  Yes  Yes S   4

I'm writing records to this file and correctly populating CRS.NAME. 
Aftering doing so,

SELECT COURSES WITH CRS.NAME EQ 'foo'

fail for the newly add course 'foo' (regardless of the value of
CRS.NAME). 
However, if I reindex the file, the SELECT works. I'm all ears if anyone

can offer insight as to how/why the indicies aren't getting updated
until 
I force a reindex.


Jeff Butera, Ph.D.
Administrative Systems
Hampshire College
[EMAIL PROTECTED]
413-559-5556

I'm not grumpy Daddy, I'm whining.
my 3-year old showing her wisdom

--

End of U2 Users Digest V1 #1398
***


u2-users-digest 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] UniData Application Monitor

2006-11-03 Thread Shaun.Ferguson
Hello all,

I am trying to search for a monitoring tool for UniData UniBasic
applications and am getting no results at indexinfocus.com.  The search
engine appears to be
hosed.  Anyone have any suggestions?  Specifically, we want to know
things like, how often a subroutine is called, how much cpu programs use
(top is ok for
this but uses a lot of computer just to provide the results), what
applications are cataloged globally and have not been used at all for a
specified timeframe.
Things like that.  We run on unix.  I'm on digest, so I won't see your
answer(s) right away.

TIA!

Shaun P. Ferguson
Sr Program Analyst
Ferguson Enterprises, Inc.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] RE: Named Common

2005-09-02 Thread Shaun.Ferguson
I'm on digest, but here's an example of named common which we use
extensively supporting many many concurrent users (makes the systems fly
without all
that open file overhead, imho).  Hpux / UniData, btw.

001: *INCLUDE EX.NAMED.COMMON
002: * EX named common and file open routine
003: *
004:
*===
==
005: * WARNING
006: *   If you are making changes here, please review all programs that
007: *   include this common block and recompile / catalog them as
necessary.
008:
*===
==
009: *
010:
*---
--
011: *  NOTE: THE ex.all.files.opened Var MUST be the first COMMON
012: COMMON /EXAMPLE/ ex.all.files.opened
013:
*---
--
014: *
015: COMMON /EXAMPLE/ F.CUSTOMER.FILE
016: COMMON /EXAMPLE/ F.CUSTOMER.XREF
017: COMMON /EXAMPLE/ F.ACCTS.RECV
018: COMMON /EXAMPLE/ F.INVOICES
019: COMMON /EXAMPLE/ F.BRANCH.FILE
020: COMMON /EXAMPLE/ F.BRANCH.XREF
021: COMMON /EXAMPLE/ F.CASH.DRAWER
022: COMMON /EXAMPLE/ F.CASH.SALE.FILE
023: COMMON /EXAMPLE/ F.CREDIT.FILE
024: *
025:
*===
==
026: * open.files
027:
*===
==
028: *
029:
*---
--
030: * This Section Of Code Must Always Remain At The End Of The
Include. This
031: * Was Added Here To Avoid Having To Check For Open Files For Any
Program
032: * That Requires This Named Common.
033:
*---
--
034: *
035: * If EX Files Are Not Opened
036: IF UNASSIGNED(ex.all.files.opened) OR NOT(ex.all.files.opened) THEN
037:   *
038:   * Set Opened Flag Assuming Success
039:   ex.all.files.opened=1; ERR=''
040:   *
041:   * Call Open Files Routine
042:   CALL EX.OPEN.ALL.FILES(ERR)
043:   *
044:   * If File Open Failed
045:   IF ERR #  THEN
046: *
047: * Display Error Message
048: INPUTERR Contact Support. The following EX file(s) could not
be opened
:; CRT
049: *
050: * Display Filenames That Were Not Opened
051: MAX = DCOUNT(ERR,@AM)
052: FOR X = 1 TO MAX
053:   CRT X'R%2. ':ERRX
054: NEXT X
055: *
056: * Get Response (Let Them See Errors)
057: PROMPT 
058: CRT Press RTN :
059: INPUT AFT,1
060: *
061: * Flag Attempt Unsuccessful
062: ex.all.files.opened=0
063: *
064: * Bailout
065: STOP
066:   END
067: END
Bottom.

001: SUBROUTINE EX.OPEN.ALL.FILES(ERR)
002: * Put the opening of EX files in one place
003: *
004: ** Program Description
**
005: * Put the opening of EX files in one place
006:

**
007: *
008: $INCLUDE EX.NAMED.COMMON
009: *
010: ERR = ''
011: *
012:
*---
--
013: * Open files
014:
*---
--
015: *
016: OPEN CUSTOMER.FILE   TO F.CUSTOMER.FILE   ELSE ERR-1 =
CUSTOMER.FILE
017: OPEN CUSTOMER.XREF   TO F.CUSTOMER.XREF   ELSE ERR-1 =
CUSTOMER.XREF
018: OPEN ACCTS.RECV  TO F.ACCTS.RECV  ELSE ERR-1 =
ACCTS.RECV
019: OPEN INVOICESTO F.INVOICESELSE ERR-1 =
INVOICES
020: OPEN BRANCH.FILE TO F.BRANCH.FILE ELSE ERR-1 =
BRANCH.FILE
021: OPEN BRANCH.XREF TO F.BRANCH.XREF ELSE ERR-1 =
BRANCH.XREF
022: OPEN CASH.DRAWER TO F.CASH.DRAWER ELSE ERR-1 =
CASH.DRAWER
023: OPEN CASH.SALE.FILE  TO F.CASH.SALE.FILE  ELSE ERR-1 =
CASH.SALE.FILE
024: OPEN CREDIT.FILE TO F.CREDIT.FILE ELSE ERR-1 =
CREDIT.FILE
025: *
026: RETURN
Bottom.

If you have multiple accounts that users can hop around to, put a line
in your VOC login that will remove the named common block in each
account such as
DELETECOMMON EXAMPLE or if you use many named common blocks, as we do,
create a separate paragraph or proc that does it to all of them and put
that in each account's VOC login.  Now all programs and subroutines that
use these files can have the 'EX.NAMED.COMMON included at the top and
the file
handles will stay available (opened) throughout their login session.

Hope this helps!

Shaun Ferguson
Sr. Program Analyst
Ferguson Enterprises, Inc.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] Unidata Data Replication - RECONFIG command

2005-07-27 Thread Shaun.Ferguson
Hello all!

Unidata 6.1.10 on Unix - I am doing a preliminary investigation of Data
Replication and will be setting up a test environment.
The guide says that I can install it manually (creating files, updating
a table, setting the REP_FLAG in udtconfig), but, it also
says that the system is dynamically configurable by executing the
RECONFIG command.  I cannot find this command anywhere.
Anyone know if this is only installed by the Udt installation process if
you say Y to Turn on the Replication SubSystem prompt?
(Of course we originally said N)

I'm on digest so TIA for any responses.

Thanks!

Shaun
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] BY.EXP Levels

2004-10-18 Thread Shaun.Ferguson
Unidata 5.2 running on HPUX 11i

Just a quick question, though I know I won't get an answer til the a.m.
(digest only)...

Does anyone know how many fields one can do BY.EXP on before this type
of error occurs?

system error in get_oldloc()
index=1, wlv=-2, *vnumb=1, *snumb=1system error in get_oldloc()

Is there a max number of multivalue associates that we can explode on?

Thanks!

Shaun
---
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/