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: [email protected] 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 = ListOfUsers<UserCnt> UserPort = UserLine<1,1> IF UserPort = PORT.NO THEN IsPhantom = (OCONV(UserLine<1,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: [email protected] 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: [email protected] 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: @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 I've 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 [email protected] To unsubscribe please visit http://listserver.u2ug.org/ ------- u2-users mailing list [email protected] To unsubscribe please visit http://listserver.u2ug.org/
