RE: [U2] [UD] Determining if program running as a phantom
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
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
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
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/
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: 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
RE: [U2] [UD] Determining if program running as a phantom
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
RE: [U2] [UD] Determining if program running as a phantom
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: 52337621976152myuser2udt2pts/52192.168.1.51215:31
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. 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
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] 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/
Re: [U2] [UD] Determining if program running as a phantom
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: 62238821976402designbai2phantom2pts/62Console219
RE: [U2] [UD] Determining if program running as a phantom
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/