RE: [U2] [UD] Determining if program running as a phantom

2008-09-16 Thread Bill Haskett
According to the manual...

SYSTEM(18-29)
Not currently used.

...and nothing shows.

Bill

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Monday, September 15, 2008 9:31 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] [UD] Determining if program running as a phantom

What does Unidata show for system(25)?

-- Original message -- 
From: Bill Haskett [EMAIL PROTECTED] 

 Im having a bit of a problem figuring out how to tell, within a program,
if 
 it is running as a phantom. It was my impression that @USER.TYPE would be 
 set to 1 if the program was running as a phantom. However, if I run a 
 program from a UniObjects connection @USER.TYPE is always set to 1. It 
 doesnt matter I test this within the main program that EXECUTEs a phantom

 or within the phantomed program. If I test @TTY then it returns udcs 
 from within the main program or Console from within the phantomed
program 
 (I hate to think this is how I determine if a program is running as a 
 phantom ). 
 
 
 
 If I execute the LISTUSER() function then the line properly shows the user

 type as a phantom. 
 
 
 
 The phantomed process. 
 
 *--: p 
 
 001: @USER.TYPE-: 1 
 
 002: @TTY---: Console 
 
 003: PORT.NO: 6 
 
 004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep
15 
 2008 
 
 005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008 
 
 006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008 
 
 007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008 
 
 008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008 
 
 009: 62238821976402designbai2phantom2pts/62Console219:30:532Sep 15 2008 
 
 010: ...Entry DEV_DESIGNBAIS_6_1486970254.txt 
 
 011: ...Entry DEV_DESIGNBAIS_6_1486970255.txt 
 
 013: PHANTOM process 2388 has completed. 
 
 Bottom. 
 
 
 
 The process executing the above phantomed job 
 
 *--: p 
 
 001: E:\DataTrust\Dev\_PH_\O_designbais established 
 
 002: @USER.TYPE-: 1 
 
 003: @TTY---: udcs 
 
 004: PORT.NO: 4 
 
 005: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep
15 
 2008 
 
 006: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008 
 
 007: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008 
 
 008: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008 
 
 009: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008 
 
 
 
 
 
 Ive resorted to parsing the results of LISTUSER() to get what appears to
be 
 the correct information. Does anyone know of an easier alternative. 
 
 
 
 Thanks, 
 
 Bill Haskett 
 Advantos Systems, Inc. 
 4370 La Jolla Village Drive, Suite 400 
 San Diego, CA 92122 
 ( 760-944-5570 x3000 (CA) 
 ( 360-923-4838 (WA) 
 --- 
 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] [UD] Determining if program running as a phantom

2008-09-16 Thread iggchamp
What does Unidata show for system(25)?

-- Original message -- 
From: Bill Haskett [EMAIL PROTECTED] 

 Im having a bit of a problem figuring out how to tell, within a program, if 
 it is running as a phantom. It was my impression that @USER.TYPE would be 
 set to 1 if the program was running as a phantom. However, if I run a 
 program from a UniObjects connection @USER.TYPE is always set to 1. It 
 doesnt matter I test this within the main program that EXECUTEs a phantom 
 or within the phantomed program. If I test @TTY then it returns udcs 
 from within the main program or Console from within the phantomed program 
 (I hate to think this is how I determine if a program is running as a 
 phantom ). 
 
 
 
 If I execute the LISTUSER() function then the line properly shows the user 
 type as a phantom. 
 
 
 
 The phantomed process. 
 
 *--: p 
 
 001: @USER.TYPE-: 1 
 
 002: @TTY---: Console 
 
 003: PORT.NO: 6 
 
 004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15 
 2008 
 
 005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008 
 
 006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008 
 
 007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008 
 
 008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008 
 
 009: 62238821976402designbai2phantom2pts/62Console219:30:532Sep 15 2008 
 
 010: ...Entry DEV_DESIGNBAIS_6_1486970254.txt 
 
 011: ...Entry DEV_DESIGNBAIS_6_1486970255.txt 
 
 013: PHANTOM process 2388 has completed. 
 
 Bottom. 
 
 
 
 The process executing the above phantomed job 
 
 *--: p 
 
 001: E:\DataTrust\Dev\_PH_\O_designbais established 
 
 002: @USER.TYPE-: 1 
 
 003: @TTY---: udcs 
 
 004: PORT.NO: 4 
 
 005: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15 
 2008 
 
 006: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008 
 
 007: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008 
 
 008: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008 
 
 009: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008 
 
 
 
 
 
 Ive resorted to parsing the results of LISTUSER() to get what appears to be 
 the correct information. Does anyone know of an easier alternative. 
 
 
 
 Thanks, 
 
 Bill Haskett 
 Advantos Systems, Inc. 
 4370 La Jolla Village Drive, Suite 400 
 San Diego, CA 92122 
 ( 760-944-5570 x3000 (CA) 
 ( 360-923-4838 (WA) 
 --- 
 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] [UD] Determining if program running as a phantom

2008-09-16 Thread David A. Green
Try using SYSTEM(48). A Phantom process will have a COMO file.

Thanks,
David A. Green
www.dagconsulting.com
(480) 813-1725


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
Sent: Monday, September 15, 2008 7:54 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] [UD] Determining if program running as a phantom

Im having a bit of a problem figuring out how to tell, within a program, if
it is running as a phantom.  It was my impression that @USER.TYPE would be
set to 1 if the program was running as a phantom.  However, if I run a
program from a UniObjects connection @USER.TYPE is always set to 1.  It
doesnt matter I test this within the main program that EXECUTEs a phantom
or within the phantomed program.   If I test @TTY then it returns udcs
from within the main program or Console from within the phantomed program
(I hate to think this is how I determine if a program is running as a
phantom ).



If I execute the LISTUSER() function then the line properly shows the user
type as a phantom.



The phantomed process.

*--: p

001: @USER.TYPE-: 1

002: @TTY---: Console

003: PORT.NO: 6

004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15
2008

005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008

009: 62238821976402designbai2phantom2pts/62Console219:30:532Sep 15 2008

010: ...Entry DEV_DESIGNBAIS_6_1486970254.txt

011: ...Entry DEV_DESIGNBAIS_6_1486970255.txt

013: PHANTOM process 2388 has completed.

Bottom.



The process executing the above phantomed job

*--: p

001: E:\DataTrust\Dev\_PH_\O_designbais established

002: @USER.TYPE-: 1

003: @TTY---: udcs

004: PORT.NO: 4

005: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15
2008

006: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

007: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

008: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

009: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008





Ive resorted to parsing the results of LISTUSER() to get what appears to be
the correct information.  Does anyone know of an easier alternative.



Thanks,

Bill Haskett
Advantos Systems, Inc.
4370 La Jolla Village Drive, Suite 400
San Diego, CA  92122
(  760-944-5570 x3000 (CA)
(  360-923-4838 (WA)
---
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] [UD] Determining if program running as a phantom

2008-09-16 Thread Colin Alfke
If you have a different account for the UniObjects connections (we do for
ODBC access) you could use @ACCOUNT. Or you could use UOLOGIN to set an
@USER variable.

HTH
Colin Alfke
Calgary, Canada

 -Original Message-
 David A. Green
 
 Try using SYSTEM(48). A Phantom process will have a COMO file.
 
 Thanks,
 David A. Green
 
 -Original Message-
 From: Bill Haskett
 
 I'm having a bit of a problem figuring out how to tell, within a
 program, if
 it is running as a phantom.  It was my impression that @USER.TYPE would
 be
 set to 1 if the program was running as a phantom.  However, if I run
 a
 program from a UniObjects connection @USER.TYPE is always set to 1.
 It
 doesn't matter I test this within the main program that EXECUTEs a
 phantom
 or within the phantomed program.   If I test @TTY then it returns
 udcs
 from within the main program or Console from within the phantomed
 program
 (I hate to think this is how I determine if a program is running as a
 phantom ).
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] [UD] Crystal Reports and UniData

2008-09-16 Thread David Wolverton
We want to use UniData 7.1.20 OLE-DB and Crystal Reports 2008 -- but are
having no joy at the moment. The issue is the SQL that gets generated is
quoted incorrectly.

Example SQL I'm getting from Crystal Reports 2008:

Select File_Name.Dict_Name,File_Name.Dict_Name From File_Name

I don't see a tunable in Crystal Reports to tell it how to converse with U2
[aka - kill the quotes!], and IBM support tells me that CR has 'not worked
right since Version 9' (which in itself is amazing, and unbelievable!)

So I'm asking the masses -- are you using CR 2008 against UniData 7.1.x?
And if so, are there tricks you can share?  I have OLE-DB running smoothing
under DBXtra - a nice .NET reporting tool - but I want to show/have
Crystal Reports in my supported tool list since it's the defacto tool for
the trade in this area.

Thanks!
David W.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UD] Determining if program running as a phantom

2008-09-16 Thread Bill Haskett
Thanks David.  This doesn't work, however.  I run a program in DesignBais
using UniObjects.  In this program I execute a phantom.  In the phantom
program I have to initialize some variables.  This code is in an include
every program uses.  So, in the include I test if the running program is a
phantom and if it is then I initialize a few critical common variables.

Port# 4 is the initial program while port# 6 is the phantom.  Here's what I
get from the various variables.

2 Dev (0)- AE _PH_ *

3 record(s) selected.

 1  Top of designbais35286_3872 in _PH_, 8 lines, 222 characters.
*--: p
001: @USER.TYPE---: 1
002: @TTY-: Console
003: PORT.NO--: 6
004: SYSTEM(48)---: _PH_\designbais35286_3872
005: ...Entry DEV_DESIGNBAIS_6_1487035287.txt
006: ...Entry DEV_DESIGNBAIS_6_1487035288.txt
008: PHANTOM process 3872 has completed.
Bottom.
*--: ex
Quit designbais35286_3872 in file _PH_ unchanged.
 2  Top of O_designbais in _PH_, 5 lines, 136 characters.
*--: p
001: E:\DataTrust\Dev\_PH_\O_designbais established
002: @USER.TYPE---: 1
003: @TTY-: udcs
004: PORT.NO--: 4
005: SYSTEM(48)---: _PH_\designbais35286
Bottom.
*--: ex
Quit O_designbais in file _PH_ unchanged.
 3  Top of O_designbais.1 in _PH_, 22 lines, 557 characters.
*--: p
001:
002: --- 09/16/2008  09:48:06 ---
003: E:\DataTrust\Dev\_PH_\O_designbais established
004: @USER.TYPE---: 1
005: @TTY-: udcs
006: PORT.NO--: 4
007: SYSTEM(48)---:
008: --- 09/16/2008  09:48:08 ---
009: E:\DataTrust\Dev\_PH_\O_designbais established
010: @USER.TYPE---: 1
011: @TTY-: udcs
012: PORT.NO--: 4
013: SYSTEM(48)---: _PH_\designbais35286
014: @USER.TYPE---: 1
015: @TTY-: udcs
016: PORT.NO--: 4
017: SYSTEM(48)---: _PH_\designbais35286
018: @USER.TYPE---: 1
019: @TTY-: udcs
020: PORT.NO--: 4
021: SYSTEM(48)---: _PH_\designbais35286
022: --- 09/16/2008  09:48:11 ---
Bottom.
*--:

As you can see, both the phantom on port# 6 and the original program on
port# 4 has data returned by SYSTEM(48).  I think DesignBais turns COMO ON
when it runs everything in order to log program activity, which greatly
assists debugging, then turns it off when complete.  So this isn't a
solution.

It would be nice if UD supplied some kind of system variable that could be
relied upon since as we convert our application to DesignBais, we find
ourselves doing more and more processing as phantoms.

Presently, our solution is to do the following:

*
** Determine if the running program is a phantom.
ListOfUsers = LISTUSER()
IsPhantom   = 0
uHigh   = DCOUNT(ListOfUsers, @AM)
FOR UserCnt = 1 TO uHigh
   UserLine = ListOfUsersUserCnt
   UserPort = UserLine1,1
   IF UserPort = PORT.NO THEN
  IsPhantom = (OCONV(UserLine1,5, 'MCU') = 'PHANTOM')
  EXIT
   END
NEXT UserCnt

...which seems to work everywhere I've tested it.

Thanks again,

Bill

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David A. Green
Sent: Tuesday, September 16, 2008 7:18 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [UD] Determining if program running as a phantom

Try using SYSTEM(48). A Phantom process will have a COMO file.

Thanks,
David A. Green
www.dagconsulting.com
(480) 813-1725


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
Sent: Monday, September 15, 2008 7:54 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] [UD] Determining if program running as a phantom

I'm having a bit of a problem figuring out how to tell, within a program, if
it is running as a phantom.  It was my impression that @USER.TYPE would be
set to '1' if the program was running as a phantom.  However, if I run a
program from a UniObjects connection @USER.TYPE is always set to '1'.  It
doesnt matter I test this within the main program that EXECUTEs a phantom
or within the phantomed program.   If I test @TTY then it returns 'udcs'
from within the main program or Console from within the phantomed program
(I hate to think this is how I determine if a program is running as a
phantom ).


If I execute the LISTUSER() function then the line properly shows the user
type as a 'phantom'.


The 'phantomed' process.

*--: p
001: @USER.TYPE-: 1
002: @TTY---: Console
003: PORT.NO: 6
004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15
2008
005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008
006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008
007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008
008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008
009: 62238821976402designbai2phantom2pts/62Console219:30:532Sep 15 2008
010: ...Entry DEV_DESIGNBAIS_6_1486970254.txt
011: ...Entry DEV_DESIGNBAIS_6_1486970255.txt
013: PHANTOM process 2388 has completed.
Bottom.

The process executing the above phantomed job
*--: p
001: E:\DataTrust\Dev\_PH_\O_designbais established
002: 

[U2] I need a correlative, just like the correlative...

2008-09-16 Thread Jeff Schasny
My Pick Pocket Guide fails me.

I can't use an I descriptor (that would be way too easy) and I need to 
create a correlative that presents the data in a multivalued field as a 
single valued comma delimited list.
The equivalent of this:
0001: I
0002: CONVERT(@VM,',',PO.NUMBER)
0003:
0004: PO NUMBER
0005: 30T
0006: S

Thanks
-- 

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

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


RE: [U2] [UD] Determining if program running as a phantom

2008-09-16 Thread David Wolverton
One way I've dealt with this issue in the past is by having the 'INCLUDE' in
the code always, then testing for something I know should be initialized
with TESTVAR = UNASSIGNED(varname) -- if the variable would return 'Not
Assigned a value' then TESTVAR would be 1, and I would know to run my
'Initialize' routine...

DW

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
 Sent: Tuesday, September 16, 2008 12:09 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] [UD] Determining if program running as a phantom
 
 Thanks David.  This doesn't work, however.  I run a program 
 in DesignBais using UniObjects.  In this program I execute a 
 phantom.  In the phantom program I have to initialize some 
 variables.  This code is in an include every program uses.  
 So, in the include I test if the running program is a phantom 
 and if it is then I initialize a few critical common variables.
 
 Port# 4 is the initial program while port# 6 is the phantom.  
 Here's what I get from the various variables.
 
 2 Dev (0)- AE _PH_ *
 
 3 record(s) selected.
 
  1  Top of designbais35286_3872 in _PH_, 8 lines, 222 
 characters.
 *--: p
 001: @USER.TYPE---: 1
 002: @TTY-: Console
 003: PORT.NO--: 6
 004: SYSTEM(48)---: _PH_\designbais35286_3872
 005: ...Entry DEV_DESIGNBAIS_6_1487035287.txt
 006: ...Entry DEV_DESIGNBAIS_6_1487035288.txt
 008: PHANTOM process 3872 has completed.
 Bottom.
 *--: ex
 Quit designbais35286_3872 in file _PH_ unchanged.
  2  Top of O_designbais in _PH_, 5 lines, 136 characters.
 *--: p
 001: E:\DataTrust\Dev\_PH_\O_designbais established
 002: @USER.TYPE---: 1
 003: @TTY-: udcs
 004: PORT.NO--: 4
 005: SYSTEM(48)---: _PH_\designbais35286 Bottom.
 *--: ex
 Quit O_designbais in file _PH_ unchanged.
  3  Top of O_designbais.1 in _PH_, 22 lines, 557 characters.
 *--: p
 001:
 002: --- 09/16/2008  09:48:06 ---
 003: E:\DataTrust\Dev\_PH_\O_designbais established
 004: @USER.TYPE---: 1
 005: @TTY-: udcs
 006: PORT.NO--: 4
 007: SYSTEM(48)---:
 008: --- 09/16/2008  09:48:08 ---
 009: E:\DataTrust\Dev\_PH_\O_designbais established
 010: @USER.TYPE---: 1
 011: @TTY-: udcs
 012: PORT.NO--: 4
 013: SYSTEM(48)---: _PH_\designbais35286
 014: @USER.TYPE---: 1
 015: @TTY-: udcs
 016: PORT.NO--: 4
 017: SYSTEM(48)---: _PH_\designbais35286
 018: @USER.TYPE---: 1
 019: @TTY-: udcs
 020: PORT.NO--: 4
 021: SYSTEM(48)---: _PH_\designbais35286
 022: --- 09/16/2008  09:48:11 --- Bottom.
 *--:
 
 As you can see, both the phantom on port# 6 and the original 
 program on port# 4 has data returned by SYSTEM(48).  I think 
 DesignBais turns COMO ON when it runs everything in order to 
 log program activity, which greatly assists debugging, then 
 turns it off when complete.  So this isn't a solution.
 
 It would be nice if UD supplied some kind of system variable 
 that could be relied upon since as we convert our application 
 to DesignBais, we find ourselves doing more and more 
 processing as phantoms.
 
 Presently, our solution is to do the following:
 
 *
 ** Determine if the running program is a phantom.
 ListOfUsers = LISTUSER()
 IsPhantom   = 0
 uHigh   = DCOUNT(ListOfUsers, @AM)
 FOR UserCnt = 1 TO uHigh
UserLine = ListOfUsersUserCnt
UserPort = UserLine1,1
IF UserPort = PORT.NO THEN
   IsPhantom = (OCONV(UserLine1,5, 'MCU') = 'PHANTOM')
   EXIT
END
 NEXT UserCnt
 
 ...which seems to work everywhere I've tested it.
 
 Thanks again,
 
 Bill
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of 
 David A. Green
 Sent: Tuesday, September 16, 2008 7:18 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] [UD] Determining if program running as a phantom
 
 Try using SYSTEM(48). A Phantom process will have a COMO file.
 
 Thanks,
 David A. Green
 www.dagconsulting.com
 (480) 813-1725
 
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
 Sent: Monday, September 15, 2008 7:54 PM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] [UD] Determining if program running as a phantom
 
 I'm having a bit of a problem figuring out how to tell, 
 within a program, if it is running as a phantom.  It was my 
 impression that @USER.TYPE would be set to '1' if the program 
 was running as a phantom.  However, if I run a program from a 
 UniObjects connection @USER.TYPE is always set to '1'.  It 
 doesnt matter I test this within the main program that 
 EXECUTEs a phantom
 or within the phantomed program.   If I test @TTY then it 
 returns 'udcs'
 from within the main program or Console from within the 
 phantomed program (I hate to think this is how I determine if 
 a program is running as a phantom ).
 
 
 If I execute the LISTUSER() function then the line properly 
 shows the user type as a 'phantom'.
 
 
 The 'phantomed' process.
 
 *--: p
 001: 

[U2] If you run UV, Read This !!! Change to UV Backup Recommendations

2008-09-16 Thread Stephen O'Neal
There is an immediate change to the recommended steps for backing up UV.

NEW RECOMMENDED BACKUP STEPS:

SUSPEND.FILES ON
SYNC  ---   This is the New Recommendation !!!  The buffers must be 
flushed to disk !!!
Break off mirrored set, create Flash Copy, etc.
SUSPEND.FILES OFF
Make backup from split off mirrored set, Flash Copy, etc.
Rejoin mirrored set, throw away Flash Copy, etc.

Please note that a sync is now recommended immediately following the 
initiation of the SUSPEND.FILES ON command.


EXPLANATION:
At U2U (U2 University) San Diego, I had an opportunity to speak with Neil 
Morris (Advanced Technical Support Analyst for UniVerse) about the Headers 
of Dynamic Files.  It turns out, that the process that modifies the Header 
of a Dynamic File (when the file expands or contracts), will write the 
updated Header.

The SUSPEND.FILES ON command only stops the writes to disk.  It does not 
initiate a sync.

Therefore, a sync must be added immediately following the SUSPEND.FILES 
ON command in order to flush the buffers to disk, and make absolutely sure 
the Header of Dynamic Files was written to disk.


UNIVERSE HIGH AVAILABILITY EXECUTIVE OVERVIEW VERSION 21 NOW AVAILABLE:
If you wish to have a copy of Version 21 of the UniVerse High Availability 
Executive Overview PPT, please send me an e-mail off line.  I will send 
copies to those who request next week, after U2U San Diego.

U2 Lab Services has you covered,
   Steve O'Neal
   U2 Lab Services Sales Specialist,IBM Data Management, IBM 
Software Group

P.S. There is another U2U in Atlanta, October 7-9, 2008:
http://www-01.ibm.com/software/info/u2/university/index.jsp
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Next UniVerse Release

2008-09-16 Thread Clifton Oliver
Based on the posting on this topic from Steve O'Neal, it appears we  
have our answer. Always do a sync after pausing the database.


I wonder if that is true for UniData, too. Wally? You following this  
thread?


Thanks for pointing out the issue, Brian!


Regards,

Clif


On Sep 15, 2008, at 2:06 AM, Brian Leach wrote:


Clif

I've asked the question before and received no solid answer. Hence  
the word

'assurance' grin

If someone could confirm that it does, I'll knock that off my list.

Regards

Brian


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Clifton Oliver
Sent: 15 September 2008 09:36
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Next UniVerse Release

Are you saying the db pause (uv -admin -L (if I recall)) we
have been told to use does NOT commit T30 file headers? And
the backup of the mirror is NBG?


Regards,

Clif



On Sep 15, 2008, at 12:49 AM, Brian Leach wrote:


All

I'm canvassing some opinions here.. as IBM sit down to work

out their

priorities for release 11 of UniVerse, what do you want to see
included?

As an example, here is my first wishlist item: better backups for
24x7x365
sites. That means either/both of a backup agent (or API)

that can be

used by third party storage tools (such as IBM's own Tivoli - so a
business opportunity for them) and the assurance that pausing a
database to split a mirror will commit all type 30 file headers to
disk before the pause completes.

Brian
---
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/


[U2] SOAP over HTTPS

2008-09-16 Thread Larry Hiscock
Has anyone implemented the UniData SOAP functions over an HTTPS URL?  The
CALLHTTP stuff, on which the SOAP stuff is built, has an option for creating
a secure request, but the soapcreaterequest function doesn't seem to have
the equivalent.

Is there such a beast, or do I need to revert to the lower level callhttp
protocols?

FWIW, I'm on UniData 6.1, and writing a webservice CONSUMER ...

TIA

Larry Hiscock
Western Computer Services
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UD] Determining if program running as a phantom

2008-09-16 Thread David A. Green
COMOs always start with O_.

Thanks,
David A. Green
www.dagconsulting.com
(480) 813-1725


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
Sent: Tuesday, September 16, 2008 10:09 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [UD] Determining if program running as a phantom

Thanks David.  This doesn't work, however.  I run a program in DesignBais
using UniObjects.  In this program I execute a phantom.  In the phantom
program I have to initialize some variables.  This code is in an include
every program uses.  So, in the include I test if the running program is a
phantom and if it is then I initialize a few critical common variables.

Port# 4 is the initial program while port# 6 is the phantom.  Here's what I
get from the various variables.

2 Dev (0)- AE _PH_ *

3 record(s) selected.

 1  Top of designbais35286_3872 in _PH_, 8 lines, 222 characters.
*--: p
001: @USER.TYPE---: 1
002: @TTY-: Console
003: PORT.NO--: 6
004: SYSTEM(48)---: _PH_\designbais35286_3872
005: ...Entry DEV_DESIGNBAIS_6_1487035287.txt
006: ...Entry DEV_DESIGNBAIS_6_1487035288.txt
008: PHANTOM process 3872 has completed.
Bottom.
*--: ex
Quit designbais35286_3872 in file _PH_ unchanged.
 2  Top of O_designbais in _PH_, 5 lines, 136 characters.
*--: p
001: E:\DataTrust\Dev\_PH_\O_designbais established
002: @USER.TYPE---: 1
003: @TTY-: udcs
004: PORT.NO--: 4
005: SYSTEM(48)---: _PH_\designbais35286
Bottom.
*--: ex
Quit O_designbais in file _PH_ unchanged.
 3  Top of O_designbais.1 in _PH_, 22 lines, 557 characters.
*--: p
001:
002: --- 09/16/2008  09:48:06 ---
003: E:\DataTrust\Dev\_PH_\O_designbais established
004: @USER.TYPE---: 1
005: @TTY-: udcs
006: PORT.NO--: 4
007: SYSTEM(48)---:
008: --- 09/16/2008  09:48:08 ---
009: E:\DataTrust\Dev\_PH_\O_designbais established
010: @USER.TYPE---: 1
011: @TTY-: udcs
012: PORT.NO--: 4
013: SYSTEM(48)---: _PH_\designbais35286
014: @USER.TYPE---: 1
015: @TTY-: udcs
016: PORT.NO--: 4
017: SYSTEM(48)---: _PH_\designbais35286
018: @USER.TYPE---: 1
019: @TTY-: udcs
020: PORT.NO--: 4
021: SYSTEM(48)---: _PH_\designbais35286
022: --- 09/16/2008  09:48:11 ---
Bottom.
*--:

As you can see, both the phantom on port# 6 and the original program on
port# 4 has data returned by SYSTEM(48).  I think DesignBais turns COMO ON
when it runs everything in order to log program activity, which greatly
assists debugging, then turns it off when complete.  So this isn't a
solution.

It would be nice if UD supplied some kind of system variable that could be
relied upon since as we convert our application to DesignBais, we find
ourselves doing more and more processing as phantoms.

Presently, our solution is to do the following:

*
** Determine if the running program is a phantom.
ListOfUsers = LISTUSER()
IsPhantom   = 0
uHigh   = DCOUNT(ListOfUsers, @AM)
FOR UserCnt = 1 TO uHigh
   UserLine = ListOfUsersUserCnt
   UserPort = UserLine1,1
   IF UserPort = PORT.NO THEN
  IsPhantom = (OCONV(UserLine1,5, 'MCU') = 'PHANTOM')
  EXIT
   END
NEXT UserCnt

...which seems to work everywhere I've tested it.

Thanks again,

Bill

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David A. Green
Sent: Tuesday, September 16, 2008 7:18 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [UD] Determining if program running as a phantom

Try using SYSTEM(48). A Phantom process will have a COMO file.

Thanks,
David A. Green
www.dagconsulting.com
(480) 813-1725


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
Sent: Monday, September 15, 2008 7:54 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] [UD] Determining if program running as a phantom

I'm having a bit of a problem figuring out how to tell, within a program, if
it is running as a phantom.  It was my impression that @USER.TYPE would be
set to '1' if the program was running as a phantom.  However, if I run a
program from a UniObjects connection @USER.TYPE is always set to '1'.  It
doesnt matter I test this within the main program that EXECUTEs a phantom
or within the phantomed program.   If I test @TTY then it returns 'udcs'
from within the main program or Console from within the phantomed program
(I hate to think this is how I determine if a program is running as a
phantom ).


If I execute the LISTUSER() function then the line properly shows the user
type as a 'phantom'.


The 'phantomed' process.

*--: p
001: @USER.TYPE-: 1
002: @TTY---: Console
003: PORT.NO: 6
004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15
2008
005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008
006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008
007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008
008: 

Re: [U2] [UD] Determining if program running as a phantom

2008-09-16 Thread Dave Taylor

Bill,

Are you asking two questions: Is the program running and is the program 
running as a phantom?


Or only one question : Is the program running as a phantom?

I don't fully understand your application environment, but we  use the 
following technique to determine if a program, that normally only runs as a 
phantom, is running or not:


We start the program as a phantom and, from within the phantom program, we 
write a record (eg STARTED) to the dict of a file and then read that record 
with a READU command.


This leaves the dict record STARTED locked until the phantom program stops 
running.


By reading the dict record STARTED from another status reporting program and 
checking if it is locked or not, we can determine if the phantom program is 
running or not.


Don't know if you can use this technique or not.

hth,

Dave

Dave Taylor
Sysmark Information Systems, Inc.
Authorized IBM Business Partner
49 Aspen Way
Rolling Hills Estates, CA 90274
(O) 800-SYSMARK (800-797-6275)
(F) 310-377-3550
(C) 310-561-5200
www.sysmarkinfo.com
- Original Message - 
From: Bill Haskett [EMAIL PROTECTED]

To: u2-users@listserver.u2ug.org
Sent: Monday, September 15, 2008 7:54 PM
Subject: [U2] [UD] Determining if program running as a phantom


Im having a bit of a problem figuring out how to tell, within a program, 
if

it is running as a phantom.  It was my impression that @USER.TYPE would be
set to 1 if the program was running as a phantom.  However, if I run a
program from a UniObjects connection @USER.TYPE is always set to 1.  It
doesnt matter I test this within the main program that EXECUTEs a phantom
or within the phantomed program.   If I test @TTY then it returns udcs
from within the main program or Console from within the phantomed 
program

(I hate to think this is how I determine if a program is running as a
phantom ).



If I execute the LISTUSER() function then the line properly shows the user
type as a phantom.



The phantomed process.

*--: p

001: @USER.TYPE-: 1

002: @TTY---: Console

003: PORT.NO: 6

004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 
15

2008

005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008

009: 62238821976402designbai2phantom2pts/62Console219:30:532Sep 15 2008

010: ...Entry DEV_DESIGNBAIS_6_1486970254.txt

011: ...Entry DEV_DESIGNBAIS_6_1486970255.txt

013: PHANTOM process 2388 has completed.

Bottom.



The process executing the above phantomed job

*--: p

001: E:\DataTrust\Dev\_PH_\O_designbais established

002: @USER.TYPE-: 1

003: @TTY---: udcs

004: PORT.NO: 4

005: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 
15

2008

006: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

007: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

008: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

009: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008





Ive resorted to parsing the results of LISTUSER() to get what appears to 
be

the correct information.  Does anyone know of an easier alternative.



Thanks,

Bill Haskett
Advantos Systems, Inc.
4370 La Jolla Village Drive, Suite 400
San Diego, CA  92122
(  760-944-5570 x3000 (CA)
(  360-923-4838 (WA)
---
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] I need a correlative, just like the correlative...

2008-09-16 Thread rbl000
Jeff,

It's not pretty, but if you know the maximum number of values (n), you could
use this:

F;0;(Tfname;X1;;96);C,;:;0;(Tfname;X2;;96);:;C,;:; ... ;0;(Tfname;Xn;;96);:

Best Regards,

Richard Lewis


-Original Message-
From: Jeff Schasny [EMAIL PROTECTED]
Date: 09/16/2008 01:46 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] I need a correlative, just like the correlative...

My Pick Pocket Guide fails me.

I can't use an I descriptor (that would be way too easy) and I need to
create a correlative that presents the data in a multivalued field as a
single valued comma delimited list.
The equivalent of this:
0001: I
0002: CONVERT(@VM,',',PO.NUMBER)
0003:
0004: PO NUMBER
0005: 30T
0006: S

Thanks
--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

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





Adult Diaper
Live your life with confidence. Click now for a discreet selection of adult
diapers!
http://216.21.215.31/fc/JkJQPThTFMgVXhpyOkrSskSXEjIzNycjT2gLmTg5XC7yblDbYVDqT
3/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UD] Determining if program running as a phantom

2008-09-16 Thread Bill Haskett
Dave:

We're upgrading our application to DesignBais.  It is an excellent tool to
move our character based application to a web environment and we're happy
with its capabilities.

We modify a process of ours (say writing checks) to run as a phantom instead
of as a response to a [R]un option from our character-based application.  We
used to display the progress of the process to the telnet user who initiated
it.  Now, we EXECUTE \PHANTOM CHECKRUN\ from a DesignBais [Proceed] button
which uses UO to initiate the process.  When we phantom off the process,
variables have to be accounted for and the appropriate ones need to be
passed into the phantom program.  In addition, some additional variables
need to be initialized within the phantom.

When all initialization code is in an INCLUDE, then it's important to know,
from inside a running program, whether the program itself is running as a
phantom.  If it is then more variables are either initialized or set.  This
becomes more important as we access current code from the DesignBais
framework.  Often there are only minor changes that need be made to our
current code, so where we're running what is becoming more important every
day.

The technique you described to manage a running phantom, from outside, is a
fine one we can all employ.  But, that isn't the question I was trying to
ask.

Thanks,

Bill


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dave Taylor
Sent: Tuesday, September 16, 2008 2:13 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] [UD] Determining if program running as a phantom

Bill,

Are you asking two questions: Is the program running and is the program 
running as a phantom?

Or only one question : Is the program running as a phantom?

I don't fully understand your application environment, but we  use the 
following technique to determine if a program, that normally only runs as a 
phantom, is running or not:

We start the program as a phantom and, from within the phantom program, we 
write a record (eg STARTED) to the dict of a file and then read that record 
with a READU command.

This leaves the dict record STARTED locked until the phantom program stops 
running.

By reading the dict record STARTED from another status reporting program and

checking if it is locked or not, we can determine if the phantom program is 
running or not.

Don't know if you can use this technique or not.

hth,

Dave

Dave Taylor
Sysmark Information Systems, Inc.
Authorized IBM Business Partner
49 Aspen Way
Rolling Hills Estates, CA 90274
(O) 800-SYSMARK (800-797-6275)
(F) 310-377-3550
(C) 310-561-5200
www.sysmarkinfo.com
- Original Message - 
From: Bill Haskett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, September 15, 2008 7:54 PM
Subject: [U2] [UD] Determining if program running as a phantom


 Im having a bit of a problem figuring out how to tell, within a program, 
 if
 it is running as a phantom.  It was my impression that @USER.TYPE would be
 set to 1 if the program was running as a phantom.  However, if I run a
 program from a UniObjects connection @USER.TYPE is always set to 1.  It
 doesnt matter I test this within the main program that EXECUTEs a phantom
 or within the phantomed program.   If I test @TTY then it returns udcs
 from within the main program or Console from within the phantomed 
 program
 (I hate to think this is how I determine if a program is running as a
 phantom ).



 If I execute the LISTUSER() function then the line properly shows the user
 type as a phantom.



 The phantomed process.

 *--: p

 001: @USER.TYPE-: 1

 002: @TTY---: Console

 003: PORT.NO: 6

 004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 
 15
 2008

 005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

 006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

 007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

 008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008

 009: 62238821976402designbai2phantom2pts/62Console219:30:532Sep 15 2008

 010: ...Entry DEV_DESIGNBAIS_6_1486970254.txt

 011: ...Entry DEV_DESIGNBAIS_6_1486970255.txt

 013: PHANTOM process 2388 has completed.

 Bottom.



 The process executing the above phantomed job

 *--: p

 001: E:\DataTrust\Dev\_PH_\O_designbais established

 002: @USER.TYPE-: 1

 003: @TTY---: udcs

 004: PORT.NO: 4

 005: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 
 15
 2008

 006: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

 007: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

 008: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

 009: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008





 Ive resorted to parsing the results of LISTUSER() to get what appears to 
 be
 the correct information.  Does anyone know of an easier alternative.



 

RE: [U2] [UD] Crystal Reports and UniData

2008-09-16 Thread Tony G
David, the best approach may be more indirect.  This is another
reason why I keep trying to discourage the more direct interfaces
between MV-specific SQL tools.

Rather than trying to bind CR or any reporting tools to U2,
create a Data Access Layer (DAL) that you're comfortable with
using any tools you prefer.  You can then use this with any
future project and enhance it as you find the need.  Then create
classes for a Business Logic Layer (BLL) that represent the
server-side data.  These might include CUSTOMER, ORDER_HDR,
INVENTORY, etc.  Again, you will be able to use these for any
future projects.  Then you can create a final class, decorated
with the .NET DataObjects attribute, that can be used as an
ObjectDataSource with any tools that bind with such DataSources -
including Crystal Reports.  You will probably have a few of these
for your various application needs.

Not only is your effort on these classes portable to other
projects, but you're abstracting matters of the UI (Crystal
Reports and their API in this case) from any changes you make to
accommodate DAL or DBMS changes.  For example, you can now use
your CR interface with jBASE, Cachi, SQL Server, or any other
database - all you need to do is replace the DAL - and you can
use the same DAL and BLL to provide data to MS Office, web
services, or any number of other front-end
application/interfaces.  This also insulates you from support
people at either IBM or CR blaming their faceless counterparts
for some malfunction.

Speaking of which, I'm surprised IBM says CR itself is so broken
but I suspect that's motivated in part by their purchase of
Cognos.

As always, if you'd like assistance, you know where I am.  :)

HTH
Tony Gravagno
Nebula Research and Development
Technical Editor, LINQ Programming:
   http://tinyurl.com/5lqroa [link goes to Amazon for book info]
... and other .NET books and publications

TG@ remove.pleaseNebula-RnD.com
Nebula RD provides .NET-related development and training
services


 From: David Wolverton
 We want to use UniData 7.1.20 OLE-DB and Crystal 
 Reports 2008 ... and IBM support tells me that CR 
 has 'not worked right since Version 9' (which in itself
 is amazing, and unbelievable!)
 
 So I'm asking the masses -- are you using CR 2008 against 
 UniData 7.1.x?  And if so, are there tricks you can share?
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UD] Determining if program running as a phantom

2008-09-16 Thread Ken Wallis
So can you PARSE the LISTUSER() function output using @USERNO (which should
be your PID) to find the relevant attribute for your license and digging out
the appropriate values which identifies your process type.

Alternatively, since it looks like you'd need to check two elements in that
array, perhaps just use @USER.TYPE and then check if @TTY is not equal to
udcs - which appears to be a clear indicator of a UniObjects invoked
program.

Or is the problem that you need to know the difference between a program
that has been PHANTOMed out of UniObjects and one that has been PHANTOMed
straight from a command prompt?

HTH,

Ken

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
Sent: Tuesday, 16 September 2008 12:54 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] [UD] Determining if program running as a phantom

Im having a bit of a problem figuring out how to tell, within a program, if
it is running as a phantom.  It was my impression that @USER.TYPE would be
set to 1 if the program was running as a phantom.  However, if I run a
program from a UniObjects connection @USER.TYPE is always set to 1.  It
doesnt matter I test this within the main program that EXECUTEs a phantom
or within the phantomed program.   If I test @TTY then it returns udcs
from within the main program or Console from within the phantomed program
(I hate to think this is how I determine if a program is running as a
phantom ).



If I execute the LISTUSER() function then the line properly shows the user
type as a phantom.



The phantomed process.

*--: p

001: @USER.TYPE-: 1

002: @TTY---: Console

003: PORT.NO: 6

004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15
2008

005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008

009: 62238821976402designbai2phantom2pts/62Console219:30:532Sep 15 2008

010: ...Entry DEV_DESIGNBAIS_6_1486970254.txt

011: ...Entry DEV_DESIGNBAIS_6_1486970255.txt

013: PHANTOM process 2388 has completed.

Bottom.



The process executing the above phantomed job

*--: p

001: E:\DataTrust\Dev\_PH_\O_designbais established

002: @USER.TYPE-: 1

003: @TTY---: udcs

004: PORT.NO: 4

005: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15
2008

006: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

007: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

008: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

009: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008





Ive resorted to parsing the results of LISTUSER() to get what appears to be
the correct information.  Does anyone know of an easier alternative.



Thanks,

Bill Haskett
Advantos Systems, Inc.
4370 La Jolla Village Drive, Suite 400
San Diego, CA  92122
(  760-944-5570 x3000 (CA)
(  360-923-4838 (WA)
---
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] [UD] Determining if program running as a phantom

2008-09-16 Thread Dave Taylor

Bill,

Here's another idea:

We often run a program that needs some information passed to it, so we run 
it from a proc and preload the buffer in the proc with the information 
needed by the program.


Inside the program, we read the proc buffer and extract the information we 
need.


Perhaps you could pass a flag into your program that would tell it how it 
was initiated - ie. in the foreground or in the background - so it could 
then act accordingly.


hth,

Dave

Dave Taylor
Sysmark Information Systems, Inc.
Authorized IBM Business Partner
49 Aspen Way
Rolling Hills Estates, CA 90274
(O) 800-SYSMARK (800-797-6275)
(F) 310-377-3550
(C) 310-561-5200
www.sysmarkinfo.com
- Original Message - 
From: Bill Haskett [EMAIL PROTECTED]

To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 16, 2008 3:09 PM
Subject: RE: [U2] [UD] Determining if program running as a phantom



Dave:

We're upgrading our application to DesignBais.  It is an excellent tool to
move our character based application to a web environment and we're happy
with its capabilities.

We modify a process of ours (say writing checks) to run as a phantom 
instead
of as a response to a [R]un option from our character-based application. 
We
used to display the progress of the process to the telnet user who 
initiated
it.  Now, we EXECUTE \PHANTOM CHECKRUN\ from a DesignBais [Proceed] 
button

which uses UO to initiate the process.  When we phantom off the process,
variables have to be accounted for and the appropriate ones need to be
passed into the phantom program.  In addition, some additional variables
need to be initialized within the phantom.

When all initialization code is in an INCLUDE, then it's important to 
know,

from inside a running program, whether the program itself is running as a
phantom.  If it is then more variables are either initialized or set. 
This

becomes more important as we access current code from the DesignBais
framework.  Often there are only minor changes that need be made to our
current code, so where we're running what is becoming more important every
day.

The technique you described to manage a running phantom, from outside, is 
a

fine one we can all employ.  But, that isn't the question I was trying to
ask.

Thanks,

Bill


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dave Taylor
Sent: Tuesday, September 16, 2008 2:13 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] [UD] Determining if program running as a phantom

Bill,

Are you asking two questions: Is the program running and is the program
running as a phantom?

Or only one question : Is the program running as a phantom?

I don't fully understand your application environment, but we  use the
following technique to determine if a program, that normally only runs as 
a

phantom, is running or not:

We start the program as a phantom and, from within the phantom program, we
write a record (eg STARTED) to the dict of a file and then read that 
record

with a READU command.

This leaves the dict record STARTED locked until the phantom program stops
running.

By reading the dict record STARTED from another status reporting program 
and


checking if it is locked or not, we can determine if the phantom program 
is

running or not.

Don't know if you can use this technique or not.

hth,

Dave

Dave Taylor
Sysmark Information Systems, Inc.
Authorized IBM Business Partner
49 Aspen Way
Rolling Hills Estates, CA 90274
(O) 800-SYSMARK (800-797-6275)
(F) 310-377-3550
(C) 310-561-5200
www.sysmarkinfo.com
- Original Message - 
From: Bill Haskett [EMAIL PROTECTED]

To: u2-users@listserver.u2ug.org
Sent: Monday, September 15, 2008 7:54 PM
Subject: [U2] [UD] Determining if program running as a phantom



Im having a bit of a problem figuring out how to tell, within a program,
if
it is running as a phantom.  It was my impression that @USER.TYPE would 
be

set to 1 if the program was running as a phantom.  However, if I run a
program from a UniObjects connection @USER.TYPE is always set to 1.  It
doesnt matter I test this within the main program that EXECUTEs a 
phantom

or within the phantomed program.   If I test @TTY then it returns udcs
from within the main program or Console from within the phantomed
program
(I hate to think this is how I determine if a program is running as a
phantom ).



If I execute the LISTUSER() function then the line properly shows the 
user

type as a phantom.



The phantomed process.

*--: p

001: @USER.TYPE-: 1

002: @TTY---: Console

003: PORT.NO: 6

004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep
15
2008

005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008

009: 

Re[2]: [U2] access to mvBase VTF files

2008-09-16 Thread David Tod Sigafoos
   then there's unidata ... talk about grotesque G

   You are right .. moving data is moving data.  A simple save/restore solves a
   lot of problems, if there is one.

   Of course I can follow the norm and just write something and charge the
   client a lot of something that should be there G

   Thanks

   Saturday, September 13, 2008, 6:54:47 PM, you wrote:

   BH G-man:

   BH Let me try to answer a couple of your questions...

   BH Moving data can be a goal.  Whether you or I can foresee the need is

   BH irrelevant.  I've moved quite a few accounts from D3 to UV and UD and I

   BH suspect Dave has an equally justifiable need (not that he should need to

   BH justify anything).

   BH There used to be a common backup to an older format that all platforms

   BH did.  I can remember upgrading several different platforms to D3 and

   BH upgrading several D3 platforms to U2.  They all had that familiar

   BH account-save (a type of thing.

   BH Many of the vendors had (have) utilities to bring in accounts from other

   BH systems.  Flat-file BS is grotesque!  Then there's UniData.  :-)

   BH Bill

   BH -Original Message-

   BH From: [EMAIL PROTECTED]

   BH [mailto:[EMAIL PROTECTED] On Behalf Of Tony G

   BH Sent: Saturday, September 13, 2008 5:07 PM

   BH To: u2-users@listserver.u2ug.org

   BH Subject: RE: [U2] access to mvBase VTF files

From: David Tod Sigafoos

My higher goal is to move data from mvBase to

uniVerse. Account save / account restore

What I want is information on if this can be done simply.

I can, as ray suggested, read the tape OR i can simply

stream in the file and try to restore on my own.

   BH [flame jacket in hand]

   BH Moving data isn't a goal, it's a tactical effort to satisfy some

   BH more strategic business function.  I'm still curious as to why

   BH you need to move data using platform-specific media.  I find that

   BH the real answer to problems we see presented here is frequently

   BH that the wrong question is being asked.  And while I know there

   BH can be some resentment when I question why someone is asking for

   BH a specific solution, that line of inquiry frequently leads to

   BH saving a lot of time and money in accomplishing the real

   BH strategic goal.  Seriously, I deal with this all the time.

   BH The only valid case I can think of for your inquiry is that you

   BH have an old VTF and the source system no longer exists - maybe a

   BH crash-n-burn where the user wants to move to U2 rather than to

   BH pay for a new mvBASE license.  Fair enough.  If that's the case

   BH then my suggestion is to move the data into a live mvBASE system

   BH somewhere (which you can get for free from any mvBASE dealer)

   BH and then to extract it out using more conventional means.

   BH The tape mechanisms in all of these platforms was never intended

   BH to be cross-platform.  They're intended to backup and restore

   BH data to a specific platform.  And while we expect to be able to

   BH move data from one shop to another, across operating systems, and

   BH across DBMS releases, many of us have found there are occasional

   BH issues here.  Extract data from these proprietary formats is a

   BH sure way to win geek points, but it's a pointless business effort

   BH considering there are better ways to accomplish the goals.

   BH So I would back up a moment (pun intended I guess) and ask why

   BH you're not writing flat files that can be transported and then

   BH read from the file system?  If the systems are local then you can

   BH simply write to a file in BASIC that's simultaneously accessed by

   BH Universe.  I do that for development all the time with a bunch of

   BH DBMS's.

   BH If the mvBASE system is still up and you want to do this on a

   BH regular basis, I'm guessing the environments are remote and you

   BH want to duplicate one or more accounts from one platform and just

   BH read it somewhere else.  All the File-Save process does is to

   BH select the SYSTEM file, loop through all MD files, loop through

   BH all DICT files, and the copy all the DATA file items in a

   BH proprietary tape buffer format.  I know you could swing that in a

   BH few minutes, using the same type of recursive loop to create

   BH directories and write items as files.  ( I actually have code

   BH like that around here somewhere from an effort where I needed to

   BH extract an entire R83 system over a network via AccuTerm. )

   BH Anyway, I hope you accomplish your goals.

   BH Best,

   BH T

   --

   DSig `

   David Tod Sigafoos  ( O O )

___oOOo__( )__oOOo___

   Nothing  in  the  world  is more dangerous than sincere ignorance and
   conscientious stupidity. -- Martin Luther King, Jr. (1929-1968)
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe 

Re[2]: [U2] access to mvBase VTF files

2008-09-16 Thread David Tod Sigafoos
   Tony,

   Funny thing about consultants .. first thing they want to do is write a
   program instead of finding a pre-existing solution.

   IF there were a way to move data from one environment to another without
   charging the client more money just to show off my brilliance that would be
   the best thing for the client (saving money and getting good results) and
   myself (why re invent the wheel .. i know i am smart i don't need to prove
   it to myself again).

   If there is no such thing then the simple answer would be .. nope .. there
   is no such thing.  No one has ever done it .. set up a 300 baud line and
   just serialize the data from one box to the next G

   Thanks

   Saturday, September 13, 2008, 5:06:37 PM, you wrote:

From: David Tod Sigafoos

My higher goal is to move data from mvBase to

uniVerse. Account save / account restore

What I want is information on if this can be done simply.

I can, as ray suggested, read the tape OR i can simply

stream in the file and try to restore on my own.

   TG [flame jacket in hand]

   TG Moving data isn't a goal, it's a tactical effort to satisfy some

   TG more strategic business function.  I'm still curious as to why

   TG you need to move data using platform-specific media.  I find that

   TG the real answer to problems we see presented here is frequently

   TG that the wrong question is being asked.  And while I know there

   TG can be some resentment when I question why someone is asking for

   TG a specific solution, that line of inquiry frequently leads to

   TG saving a lot of time and money in accomplishing the real

   TG strategic goal.  Seriously, I deal with this all the time.

   TG The only valid case I can think of for your inquiry is that you

   TG have an old VTF and the source system no longer exists - maybe a

   TG crash-n-burn where the user wants to move to U2 rather than to

   TG pay for a new mvBASE license.  Fair enough.  If that's the case

   TG then my suggestion is to move the data into a live mvBASE system

   TG somewhere (which you can get for free from any mvBASE dealer)

   TG and then to extract it out using more conventional means.

   TG The tape mechanisms in all of these platforms was never intended

   TG to be cross-platform.  They're intended to backup and restore

   TG data to a specific platform.  And while we expect to be able to

   TG move data from one shop to another, across operating systems, and

   TG across DBMS releases, many of us have found there are occasional

   TG issues here.  Extract data from these proprietary formats is a

   TG sure way to win geek points, but it's a pointless business effort

   TG considering there are better ways to accomplish the goals.

   TG So I would back up a moment (pun intended I guess) and ask why

   TG you're not writing flat files that can be transported and then

   TG read from the file system?  If the systems are local then you can

   TG simply write to a file in BASIC that's simultaneously accessed by

   TG Universe.  I do that for development all the time with a bunch of

   TG DBMS's.

   TG If the mvBASE system is still up and you want to do this on a

   TG regular basis, I'm guessing the environments are remote and you

   TG want to duplicate one or more accounts from one platform and just

   TG read it somewhere else.  All the File-Save process does is to

   TG select the SYSTEM file, loop through all MD files, loop through

   TG all DICT files, and the copy all the DATA file items in a

   TG proprietary tape buffer format.  I know you could swing that in a

   TG few minutes, using the same type of recursive loop to create

   TG directories and write items as files.  ( I actually have code

   TG like that around here somewhere from an effort where I needed to

   TG extract an entire R83 system over a network via AccuTerm. )

   TG Anyway, I hope you accomplish your goals.

   TG Best,

   TG T

   TG Tony Gravagno

   TG Nebula Research and Development

   TG TG@ remove.pleaseNebula-RnD.com

   TG ---

   TG u2-users mailing list

   TG u2-users@listserver.u2ug.org

   TG To unsubscribe please visit http://listserver.u2ug.org/

   TG __ Information from ESET NOD32 Antivirus, version of

   TG virus signature database 3440 (20080913) __

   TG The message was checked by ESET NOD32 Antivirus.

   TG http://www.eset.com

   --

   DSig `

   David Tod Sigafoos  ( O O )

___oOOo__( )__oOOo___

   Nearly  all  men can stand adversity, but if you want to test a man's
   character, give him power. -- Abraham Lincoln(1809-1865)
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] I need a correlative, just like the correlative...

2008-09-16 Thread David Tod Sigafoos
   Jeff,

   Why not just call a simple DICT program?

   Tuesday, September 16, 2008, 10:46:01 AM, you wrote:

   JS My Pick Pocket Guide fails me.

   JS I can't use an I descriptor (that would be way too easy) and I need to

   JS create a correlative that presents the data in a multivalued field as a

   JS single valued comma delimited list.

   JS The equivalent of this:

   JS 0001: I

   JS 0002: CONVERT(@VM,',',PO.NUMBER)

   JS 0003:

   JS 0004: PO NUMBER

   JS 0005: 30T

   JS 0006: S

   JS Thanks

   --

   DSig `

   David Tod Sigafoos  ( O O )

___oOOo__( )__oOOo___

   I'm frankly sick and tired of the political preachers across this country
   telling me as a citizen that if I want to be a moral person, I must believe
   in A, B, C, and D. Just who do they think they are? And from where do they
   presume to claim the right to dictate their moral beliefs to me?  --  Barry
   Goldwater.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] I need a correlative, just like the correlative...

2008-09-16 Thread Allen E. Elwood
Which is why I always just use a subr.  The real cost to the client is the
cost creation and maintenance.  Subr's are just *so* easy to understand.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of rbl000
Sent: Tuesday, September 16, 2008 14:45
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] I need a correlative, just like the correlative...


Jeff,

It's not pretty, but if you know the maximum number of values (n), you could
use this:

F;0;(Tfname;X1;;96);C,;:;0;(Tfname;X2;;96);:;C,;:; ... ;0;(Tfname;Xn;;96);:

Best Regards,

Richard Lewis


-Original Message-
From: Jeff Schasny [EMAIL PROTECTED]
Date: 09/16/2008 01:46 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] I need a correlative, just like the correlative...

My Pick Pocket Guide fails me.

I can't use an I descriptor (that would be way too easy) and I need to
create a correlative that presents the data in a multivalued field as a
single valued comma delimited list.
The equivalent of this:
0001: I
0002: CONVERT(@VM,',',PO.NUMBER)
0003:
0004: PO NUMBER
0005: 30T
0006: S

Thanks
--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

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





Adult Diaper
Live your life with confidence. Click now for a discreet selection of adult
diapers!
http://216.21.215.31/fc/JkJQPThTFMgVXhpyOkrSskSXEjIzNycjT2gLmTg5XC7yblDbYVDq
T
3/
---
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] SOAP over HTTPS

2008-09-16 Thread Janet Cedervall
Yes, there's a SOAPCreateSecureRequest that works.  Or at least the person
who wrote the code below claims it works.  I can't help you with specifics,
as someone else wrote it. This was written for UniVerse.  (I started on
these SOAP calls for some QualComm webservices last week, and haven't had
much luck with my code yet!)

URL = https://truck-pc.net/WebServices/v1.1.7/DriverTechService.asmx?/WSDL;
SOAPAction = https://truck-pc.net/WebServices/v1.1.7/GetReport;

* CREATE SECURITY CONTEXT
   RCODE = createSecurityContext(ctx, )
   IF RCODE=0 THEN
  CRT 'createSecurityContext OK'
   END ELSE
  STOP 'ERROR - createSecurityContext - ':RCODE
   END
 * Add authentication rule
   RETURN = addAuthenticationRule(ctx, 2, VerificationStrength,
generous)
   RETURN = addAuthenticationRule(ctx, 2, PeerName, truck-pc.net)
 * CREATE SOAP REQUEST HANDLE
   RCODE=SOAPCreateSecureRequest(URL,SOAPAction,SoapReq,ctx)
   IF RCODE=0 THEN
  CRT 'SOAPCreateSecureRequest OK'
   END ELSE
  STOP 'ERROR - SOAPCreateSecureRequest - ':RCODE
   END

- Janet
Mission Petroleum Carriers
 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Larry Hiscock
Sent: Tuesday, September 16, 2008 2:14 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] SOAP over HTTPS

Has anyone implemented the UniData SOAP functions over an HTTPS URL?  The
CALLHTTP stuff, on which the SOAP stuff is built, has an option for creating
a secure request, but the soapcreaterequest function doesn't seem to have
the equivalent.

Is there such a beast, or do I need to revert to the lower level callhttp
protocols?

FWIW, I'm on UniData 6.1, and writing a webservice CONSUMER ...

TIA

Larry Hiscock
Western Computer 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] [UD] Determining if program running as a phantom

2008-09-16 Thread Bill Haskett
Thanks Ken.  You and Wally are right about LISTUSER().  I parse out the line
I want, as the program running knows which port#/pid it's running on.  From
there I get the data I want by extracting 1,5 to get the proper user-type.
I have no idea why @USER.TYPE doesn't return the same information, but I
suspect it's some kind of backward compatibility thing.

Thanks again,

Bill


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ken Wallis
Sent: Tuesday, September 16, 2008 4:19 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [UD] Determining if program running as a phantom

So can you PARSE the LISTUSER() function output using @USERNO (which should
be your PID) to find the relevant attribute for your license and digging out
the appropriate values which identifies your process type.

Alternatively, since it looks like you'd need to check two elements in that
array, perhaps just use @USER.TYPE and then check if @TTY is not equal to
udcs - which appears to be a clear indicator of a UniObjects invoked
program.

Or is the problem that you need to know the difference between a program
that has been PHANTOMed out of UniObjects and one that has been PHANTOMed
straight from a command prompt?

HTH,

Ken

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
Sent: Tuesday, 16 September 2008 12:54 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] [UD] Determining if program running as a phantom

Im having a bit of a problem figuring out how to tell, within a program, if
it is running as a phantom.  It was my impression that @USER.TYPE would be
set to 1 if the program was running as a phantom.  However, if I run a
program from a UniObjects connection @USER.TYPE is always set to 1.  It
doesnt matter I test this within the main program that EXECUTEs a phantom
or within the phantomed program.   If I test @TTY then it returns udcs
from within the main program or Console from within the phantomed program
(I hate to think this is how I determine if a program is running as a
phantom ).



If I execute the LISTUSER() function then the line properly shows the user
type as a phantom.



The phantomed process.

*--: p

001: @USER.TYPE-: 1

002: @TTY---: Console

003: PORT.NO: 6

004: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15
2008

005: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

006: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

007: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

008: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008

009: 62238821976402designbai2phantom2pts/62Console219:30:532Sep 15 2008

010: ...Entry DEV_DESIGNBAIS_6_1486970254.txt

011: ...Entry DEV_DESIGNBAIS_6_1486970255.txt

013: PHANTOM process 2388 has completed.

Bottom.



The process executing the above phantomed job

*--: p

001: E:\DataTrust\Dev\_PH_\O_designbais established

002: @USER.TYPE-: 1

003: @TTY---: udcs

004: PORT.NO: 4

005: LISTUSER()-: 12251621976152myuser2phantom2pts/12Console210:33:322Sep 15
2008

006: 2263221976152myuser2udt2pts/22192.168.1.51216:41:202Sep 15 2008

007: 32383621976152myuser2udt2pts/32192.168.1.51215:11:522Sep 15 2008

008: 42358421976402designbai2udt2pts/42udcs219:30:062Sep 15 2008

009: 52337621976152myuser2udt2pts/52192.168.1.51215:31:312Sep 15 2008





Ive resorted to parsing the results of LISTUSER() to get what appears to be
the correct information.  Does anyone know of an easier alternative.



Thanks,

Bill Haskett
Advantos Systems, Inc.
4370 La Jolla Village Drive, Suite 400
San Diego, CA  92122
(  760-944-5570 x3000 (CA)
(  360-923-4838 (WA)
---
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/