Re: [U2] Read yourself

2014-05-12 Thread Robert
I saw on one PICK system, a precompiler language. It was the same as PICK/BASIC, but had a preprocessor to it. So, for example to get the user number on a Universe system you would use USER.NO=@USER.NO On a PICK system, it would be USER.NO=OCONV(0,'U50BB') Rather than write it into the progr

Re: [U2] Read yourself

2014-05-12 Thread Bernard Lubin
You will need to do a system(9001) to get the program stack This will tell you the subroutine that is being called. To get the library, first check the VOC for the external subroutine. If there is no VOC pointer for that item, check the VOC pointer for the calling program. As far as I remember,

Re: [U2] Read yourself

2014-05-12 Thread Wjhonson
I just ran a test where a main program called an external subroutine In the external subroutine I had it display system(9001) The subroutine name was listed in that display as was the main routine which had called it -Original Message- From: David Wasylenko To: U2 Users List S

Re: [U2] Read yourself

2014-05-12 Thread David Wasylenko
I think the point has been lost. The person is requesting the name of the CURRENT ROUTINE If that is A SUBROUTINE - there is no @ that I know of that returns the name of the currently executing routine. The fact the CALLING routine knows the name is #1, is of no value to this request and #2,

Re: [U2] Read yourself

2014-05-12 Thread Adrian Overs
I totally agree with and endorse your programming standards David. However if the program is calling another subroutine it should know the name of that subroutine or be able to derive it if it is called with an @. Sent from my iPad On 13 May 2014, at 10:45 am, David Wasylenko wrote: IT'S JUST

Re: [U2] Read yourself

2014-05-12 Thread David Wasylenko
IT'S JUST NOT TRUE EVER. @sentence cannot work. The stub program that launched an initial program will be in the @sentence... You could be 3 calls deep into external subroutines - there is nothing in @sentence re: the call-stack. Our shop writes *very* few stub programs - most are subroutines ca

Re: [U2] Read yourself

2014-05-12 Thread Wjhonson
system(9001) is doing something odd One of the chars in the catdir name is an asterisk and the system(9001) returns that as %A instead of * -Original Message- From: Bill Haskett To: U2 Users List Sent: Mon, May 12, 2014 5:19 pm Subject: Re: [U2] Read yourself You can also use

Re: [U2] Read yourself

2014-05-12 Thread Adrian Overs
That's true - if the subroutines are catalogued with a noxref clause you're screwed. Sent from my iPad On 13 May 2014, at 10:19 am, David Wasylenko wrote: Wont work --- if you use any external subroutines. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-user

Re: [U2] Read yourself

2014-05-12 Thread David Wasylenko
Wont work --- if you use any external subroutines. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Adrian Overs Sent: Monday, May 12, 2014 7:18 PM To: U2 Users List Subject: Re: [U2] Read yourself You can get the Pr

Re: [U2] Read yourself

2014-05-12 Thread David Wasylenko
OR you can use SYSTEM(9001) on universe OR you can use SYSTEM(9001) on universe OR you can use SYSTEM(9001) on universe OR you can use SYSTEM(9001) on universe OR you can use SYSTEM(9001) on universe Hmmm, thought someone said that already

Re: [U2] Read yourself

2014-05-12 Thread Bill Haskett
You can also use the program stack (UD - SYSTEM(49), UV - SYSTEM(9001), D3 - SYSTEM(33)). This gives not only the program running but the path. That ought to give needed information to both open the file and read the program source code. HTH, Bill --

Re: [U2] Read yourself

2014-05-12 Thread Adrian Overs
You can get the Program name by parsing @SENTANCE You can then read the Verb from the VOC and act on that or if the item is globally catalogued then read the last line from your catdir item >From unix level use strings $catpath/$item | tail -1 and then process that. HTH Sent from my iPad On 13

Re: [U2] Read yourself

2014-05-12 Thread David Wasylenko
We always have a variable "PGID" defined at the top of the program. This at least HELPS identify the source code. Most of our programs have the ability to edit the code while you are in the program via some common "hot-keys" built into our core system. (controlled by security) There is also a hot

Re: [U2] Read yourself

2014-05-12 Thread Wjhonson
I understand how one could potentially do it. I was more interested to see if anyone had already done it. Cat pointers only work for catalogued entries by the way -Original Message- From: Israel, John R. To: U2 Users List Sent: Mon, May 12, 2014 4:41 pm Subject: Re: [U2] Read yours

Re: [U2] Read yourself

2014-05-12 Thread Israel, John R.
There are @ commands that can get this stuff. Or read the cat pointer. John Israel Sent from my iPhone > On May 12, 2014, at 7:39 PM, "Wjhonson" wrote: > > > The program does not inherently know that it's in a file called "BP". > And it does not know it's own (value of) PROG.ID unless it can

Re: [U2] Read yourself

2014-05-12 Thread Wjhonson
The program does not inherently know that it's in a file called "BP". And it does not know it's own (value of) PROG.ID unless it can find it out somehow. -Original Message- From: Adrian Overs To: U2 Users List Sent: Mon, May 12, 2014 4:33 pm Subject: Re: [U2] Read yourself Wha

Re: [U2] Read yourself

2014-05-12 Thread Adrian Overs
What problem are you trying to solve by doing so? After all it's not rocket science (pardon the pun) to OPEN "BP" TO BP.FV THEN READ R.PROG FROM BP.FV, PROG.ID ELSE ... Whatever END Sent from my iPad On 13 May 2014, at 6:54 am, Wjhonson wrote: Does anyone have a BASIC program, that will open i

[U2] Read yourself

2014-05-12 Thread Wjhonson
Does anyone have a BASIC program, that will open it's own code in a variable ? So something like this GOSUB RETURN.A.LOCAL.FILE.AND.KEY.FOR.ME READ THIS.PROGRAM FROM F.LOCALFILENAME, K.PROGRAMKEY the program reads itself. Does anyone have a program like that? ___