Re: [U2] Advantage of indirect call in BASIC

2012-12-09 Thread Hona, David
If you encounter this, it is probably a Prime INFORMATION (PI) legacy code.  As 
this was a commonly used convention in natively developed PI applications 
(rather than PICK-ported apps). 

As globally catalog'd object was a typical naming convention for production 
object in PI. Plus as mentioned by others it was also primarily for performance 
reasons. Some of those performance reasons still exist. If you don't resolve 
the subroutine name in your BASIC code, then the VOC file has to be referenced 
to find out the true catalog name. If you define and call a variable - if 
by-passing the VOC calling entirely. Of course there were many non-native 
applications running on PI from the PICK world that never took any advantage of 
this and many other PI features. 

Legacy PICK code tends to be account catalog centric (ie., *MYACCT*MYOBJECT). 
So typically doesn't use this convention, we use this convention to define test 
/ non-production object code in the catalog space.

Hence, we also use it to load/deignate different versions of the object code 
dynamically. Our account initialisation code defines *CATALOGNAME as the 
production code. When initialising on logon to the UV account, It then checks 
the local VOC for any different definitions in the local account - and asks the 
test user (not end-users) if they wish to local that object version. This 
allows versions of the code to be loaded for different users - for testing and 
pre-implementation purposes - on demand. For example, we run to run 
*V1.1*SOME.PROGRAM rather than *SOME.PROGRAM.

This is especially useful if you share your single UV environment with multiple 
accounts and versions of your software. This saves having change VOC entries 
too, but of course you can do that too. But then if you have some users that 
don't what or need to test that version - then how would you control/enforce 
that?

Regards,
David

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Tuesday, 4 December 2012 11:39 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] Advantage of indirect call in BASIC

I've not encountered this is my career previously, but now I'm seeing a system 
written almost entirely with the use of indirect calls in Universe BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be 
written entirely in this fashion?

** IMPORTANT MESSAGE *   
This e-mail message is intended only for the addressee(s) and contains 
information which may be
confidential. 
If you are not the intended recipient please advise the sender by return email, 
do not use or
disclose the contents, and delete the message and any attachments from your 
system. Unless
specifically indicated, this email does not constitute formal advice or 
commitment by the sender
or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. 
We can be contacted through our web site: commbank.com.au. 
If you no longer wish to receive commercial electronic messages from us, please 
reply to this
e-mail by typing Unsubscribe in the subject line. 
**



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


Re: [U2] Advantage of indirect call in BASIC

2012-12-05 Thread Ray Wurlod
Ah, there we're getting in to PRIMOS architecture (and, by implication, that of 
most UNIX variants).
 Ring 0 was the innermost ring, effectively the kernel, where you had to be 
extremely privileged to do anything at all.
 Most users executed in Ring 3.
 Ring 1 consisted mostly of interludes to allow less-privileged users access to 
kernal functions.
- Original Message -
From: Wjhonson
Sent: 12/05/12 11:09 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Advantage of indirect call in BASIC

 Why do you call it ring jump in particular? What's the ring ?
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Advantage of indirect call in BASIC

2012-12-05 Thread Ray Wurlod
In DataStage I have used the indirect all method to implement late binding 
(referred to in the OOP post) to create a rules engine. The actual rules to 
be applied/tested could not be known until the data actually arrived. So the 
test routine itself was effectively little more than a dispatcher, determining 
which rule routine(s) to call, and calling them via the indirect call mechanism.
 It worked wonderfully well.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Advantage of indirect call in BASIC

2012-12-05 Thread Jeff Schasny
Primos, much like it's predecessor Multics implemented a ring protection 
model. Here's a fair explanation:


http://en.wikipedia.org/wiki/Ring_(computer_security)

Wjhonson wrote:

Why do you call it ring jump in particular?
What's the ring ?

 

 

 


-Original Message-
From: Wols Lists antli...@youngman.org.uk
To: u2-users u2-users@listserver.u2ug.org
Sent: Tue, Dec 4, 2012 4:07 pm
Subject: Re: [U2] Advantage of indirect call in BASIC


On 04/12/12 17:03, Wjhonson wrote:
  

Ring-jump ?
Vas is das



It's when the processor jumps between restricted user mode, and kernel
can do anything mode.

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

 
___

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

  


--

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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Wols Lists
On 04/12/12 04:57, Israel, John R. wrote:
 As far as the number of arguments changing, I will often write a subroutine 
 with a few extra variables (FUTURE1, FUTURE2, FUTURE3) so that I do not need 
 to find all the existing programs that call it and recompile them.  It makes 
 this sort of thing a piece of cake.  The existing programs will likely not 
 need to populate the arguments other than initialized to null.
 
While I didn't know about it way back when, you can actually test a
variable for unassigned so if you do that, you can just start your
subroutine with if future1 is unassigned then set to null etc.

Cheers,
Wol

 John Israel
 
 Sent from my iPhone
 
 On Dec 3, 2012, at 9:28 PM, Kate Stanton k...@walstan.com wrote:
 
 I would hate to see that in our software, as it would be so hard to find
 where a subroutine is used.

 On the odd occasion we use this form (eg call depends on transaction type),
 we do the definition just above, so it can be found.

 In my experience, the number of parameters is more likely to change that
 the subroutine name.

 On 4 December 2012 13:38, Wjhonson wjhon...@aol.com wrote:

 I've not encountered this is my career previously, but now I'm seeing a
 system written almost entirely with the use of indirect calls in Universe
 BASIC.

 That is
 SOURCE = *SOME.PROGRAM
 ...
 CALL @SOURCE(INPUTS)

 Is there some advantage to the use of indirect calls that a system would
 be written entirely in this fashion?


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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Wols Lists
On 04/12/12 00:38, Wjhonson wrote:
 I've not encountered this is my career previously, but now I'm seeing a 
 system written almost entirely with the use of indirect calls in Universe 
 BASIC.
 
 That is
 SOURCE = *SOME.PROGRAM
 ...
 CALL @SOURCE(INPUTS)
 
 Is there some advantage to the use of indirect calls that a system would be 
 written entirely in this fashion?
 
I've sometimes done this, can't remember why.

BUT. This is *standard* OOP practice. If the guy was used to object
orientated programming, then he would expect this, and if he was not
using an OOP language (like BASIC), then he would have had to explicitly
code it - just like he's done here!

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Manu Fernandes
hi,

These method is very usefull when you build software like a lego, some pieces 
are polymorphic, the assignment of source depens of  environment, params at 
runtime not only at compile time... the value of soure can be assigned from 
litteral, but also read from file or be the result of a text expression.

sample : if you run a software on mutiple plateform, unix and windows, UV, UD, 
D3, ...; to adress OS and third part software, the final syntax is different 
but the main() can call source with no difference, you an createa a new 
variation of source() with no change on the main().

sample : send a e-mail : depending of OS, smpt, relaying, it can be 20 
differents method/tools to send a mail but the elements of it 
(from,to,subjet,body,attachment) are always the same.  With the indirect call, 
you can define wich is the local method to send a mail and never touch the 
main().

two pence.
Manu

Wjhonson wjhon...@aol.com a écrit :


I've not encountered this is my career previously, but now I'm seeing a system 
written almost entirely with the use of indirect calls in Universe BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be 
written entirely in this fashion?


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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Jeff Butera

On 12/03/2012 10:11 PM, Ed Clark wrote:

I could see a 4gl writing out this kind of code, or a menu system.
When you use indirect calling, the name of the subroutine can contain odd 
characters that wouldn't normally be allowed--though on some platforms you can 
also quote the call, e.g.:
   CALL my-sub**(parms)



Datatel (eg: Ellucian) does this in certain places allowing their 
clients the ability to plug in custom subroutines for various things 
like GPA calculations, repeat policies, etc.





On Dec 3, 2012, at 7:38 PM, Wjhonson wjhon...@aol.com wrote:


I've not encountered this is my career previously, but now I'm seeing a system 
written almost entirely with the use of indirect calls in Universe BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be 
written entirely in this fashion?


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

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



--
Jeff Butera, PhD
Associate Director for Applications and Web Services
Information Technology
Hampshire College
413-559-5556

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread David A. Green
Does anyone have any current benchmarks on this type of call?  Several years
ago when I tested it in UniData it was very slow call compared to using the
name.

David A. Green
(480) 813-1725
DAG Consulting

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, December 03, 2012 5:39 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Advantage of indirect call in BASIC

I've not encountered this is my career previously, but now I'm seeing a
system written almost entirely with the use of indirect calls in Universe
BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be
written entirely in this fashion?


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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Martin Phillips
Hi,

A direct call has to be looked up once in the catalogue system when it is first 
used. Subsequent calls will be fast because the link
has been created. However, if the call is itself in a subroutine and that 
subroutine exits, it starts clean again on next call and
hence may need to rebuild the link. I say may need to because there are 
various layers of caching that speed all this up.

An indirect call starts out with a string variable. The first call will do the 
catalogue search, link the program, and replace the
string with a variable that acts as a fast link to the subroutine. The link 
only needs to be rebuilt if the variable is overwritten
or discarded. This means that putting the indirection variable in a common 
block that is only initialised once will do the catalogue
search only once. Resetting the variable (local or common) before every call 
will require the search every time, though again
caching may help.

Long ago, I did some performance comparisons on UV when delivering an Internals 
course. I have lost the results but I seem to recall
that it was well worth using links in common for subroutines that are called 
enormous numbers of times.


Martin Phillips
Ladybridge Systems Ltd
17b Coldstream Lane, Hardingstone, Northampton NN4 6DB, England
+44 (0)1604-709200




-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: 04 December 2012 14:01
To: 'U2 Users List'
Subject: Re: [U2] Advantage of indirect call in BASIC

Does anyone have any current benchmarks on this type of call?  Several years
ago when I tested it in UniData it was very slow call compared to using the
name.

David A. Green
(480) 813-1725
DAG Consulting

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, December 03, 2012 5:39 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Advantage of indirect call in BASIC

I've not encountered this is my career previously, but now I'm seeing a
system written almost entirely with the use of indirect calls in Universe
BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be
written entirely in this fashion?


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

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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Robert Houben
We use the indirect call method to allow a user to create, for instance, an 
ITEMPROC subroutine. The subroutine implements a defined interface and the name 
is provided in the command syntax, so we parse out the subroutine name and call 
it at run-time.  There's no way at compile time that we can anticipate the 
names that a user might choose for their subroutines that implement our 
interface.

So, providing an open API is a very real case where the CALL @ syntax is 
critical.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Martin Phillips
Sent: December-04-12 6:13 AM
To: 'U2 Users List'
Subject: Re: [U2] Advantage of indirect call in BASIC

Hi,

A direct call has to be looked up once in the catalogue system when it is first 
used. Subsequent calls will be fast because the link has been created. However, 
if the call is itself in a subroutine and that subroutine exits, it starts 
clean again on next call and hence may need to rebuild the link. I say may 
need to because there are various layers of caching that speed all this up.

An indirect call starts out with a string variable. The first call will do the 
catalogue search, link the program, and replace the string with a variable that 
acts as a fast link to the subroutine. The link only needs to be rebuilt if the 
variable is overwritten or discarded. This means that putting the indirection 
variable in a common block that is only initialised once will do the catalogue 
search only once. Resetting the variable (local or common) before every call 
will require the search every time, though again caching may help.

Long ago, I did some performance comparisons on UV when delivering an Internals 
course. I have lost the results but I seem to recall that it was well worth 
using links in common for subroutines that are called enormous numbers of times.


Martin Phillips
Ladybridge Systems Ltd
17b Coldstream Lane, Hardingstone, Northampton NN4 6DB, England
+44 (0)1604-709200




-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: 04 December 2012 14:01
To: 'U2 Users List'
Subject: Re: [U2] Advantage of indirect call in BASIC

Does anyone have any current benchmarks on this type of call?  Several years 
ago when I tested it in UniData it was very slow call compared to using the 
name.

David A. Green
(480) 813-1725
DAG Consulting

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, December 03, 2012 5:39 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Advantage of indirect call in BASIC

I've not encountered this is my career previously, but now I'm seeing a system 
written almost entirely with the use of indirect calls in Universe BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be 
written entirely in this fashion?


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

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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Jeff Schasny
I'll second Allen Egerton's left over from Prime Information theory. I 
distinctly remember being told that indirect subroutine calls were 
measurably faster way back in my days at Prime.


Wjhonson wrote:

I've not encountered this is my career previously, but now I'm seeing a system 
written almost entirely with the use of indirect calls in Universe BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be 
written entirely in this fashion?


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

  


--

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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Wols Lists
On 04/12/12 16:06, Jeff Schasny wrote:
 I'll second Allen Egerton's left over from Prime Information theory. I
 distinctly remember being told that indirect subroutine calls were
 measurably faster way back in my days at Prime.
 
From my knowledge of Pr1me architecture (which isn't great) this was one
of Pr1me's very strong points - the hardware/software subroutine call
architecture was *extremely* fast.

So much so that, clocktick for clocktick, it is probably STILL several
times faster than the now-ubiquitous x86 architecture. Shame they
haven't caught up :-(

(I'm thinking particularly here of a ring-jump, but I think it was just
blindingly fast regardless - linux goes to great efforts to avoid such
jumps, Pr1mos didn't care...)

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Jeff Schasny
Of course blindingly fast on a 4 MIPS 9955 is what we might now call 
quaintly tortoise like and that's why we still find things like the 
all indirect subroutine calls in an attempt to squeeze any available 
drop of performance out of applications.


Wols Lists wrote:

From my knowledge of Pr1me architecture (which isn't great) this was one
of Pr1me's very strong points - the hardware/software subroutine call
architecture was *extremely* fast.

So much so that, clocktick for clocktick, it is probably STILL several
times faster than the now-ubiquitous x86 architecture. Shame they
haven't caught up :-(

(I'm thinking particularly here of a ring-jump, but I think it was just
blindingly fast regardless - linux goes to great efforts to avoid such
jumps, Pr1mos didn't care...)

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

  


--

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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Wjhonson
Ring-jump ?
Vas is das

 

 

 

-Original Message-
From: Wols Lists antli...@youngman.org.uk
To: u2-users u2-users@listserver.u2ug.org
Sent: Tue, Dec 4, 2012 8:37 am
Subject: Re: [U2] Advantage of indirect call in BASIC


On 04/12/12 16:06, Jeff Schasny wrote:
 I'll second Allen Egerton's left over from Prime Information theory. I
 distinctly remember being told that indirect subroutine calls were
 measurably faster way back in my days at Prime.
 
From my knowledge of Pr1me architecture (which isn't great) this was one
of Pr1me's very strong points - the hardware/software subroutine call
architecture was *extremely* fast.

So much so that, clocktick for clocktick, it is probably STILL several
times faster than the now-ubiquitous x86 architecture. Shame they
haven't caught up :-(

(I'm thinking particularly here of a ring-jump, but I think it was just
blindingly fast regardless - linux goes to great efforts to avoid such
jumps, Pr1mos didn't care...)

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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Wols Lists
On 04/12/12 17:03, Wjhonson wrote:
 Ring-jump ?
 Vas is das
 
It's when the processor jumps between restricted user mode, and kernel
can do anything mode.

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-04 Thread Wjhonson
Why do you call it ring jump in particular?
What's the ring ?

 

 

 

-Original Message-
From: Wols Lists antli...@youngman.org.uk
To: u2-users u2-users@listserver.u2ug.org
Sent: Tue, Dec 4, 2012 4:07 pm
Subject: Re: [U2] Advantage of indirect call in BASIC


On 04/12/12 17:03, Wjhonson wrote:
 Ring-jump ?
 Vas is das
 
It's when the processor jumps between restricted user mode, and kernel
can do anything mode.

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

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-03 Thread Israel, John R.
Maybe some plan to change SOUREC at some key point w/o having to change it in 
multiple places?

Looks like an idea that wasn't fully thought out, but that is just my 2 cents 
worth.  Maybe someone has some pearls of wisdom on this.


JRI

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, December 03, 2012 7:39 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Advantage of indirect call in BASIC

I've not encountered this is my career previously, but now I'm seeing a system 
written almost entirely with the use of indirect calls in Universe BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be 
written entirely in this fashion?


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


Re: [U2] Advantage of indirect call in BASIC

2012-12-03 Thread larryh
I've worked on a system that uses this approach.  A bunch of variables are
defined in the startup program called by the LOGIN paragraph, and stored
in named common.  The idea behind it was to centralize in the event that
the called program ever needed to be changed.

Larry Hiscock
Western Computer Services


 Maybe some plan to change SOUREC at some key point w/o having to change it
 in multiple places?

 Looks like an idea that wasn't fully thought out, but that is just my 2
 cents worth.  Maybe someone has some pearls of wisdom on this.


 JRI

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
 Sent: Monday, December 03, 2012 7:39 PM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Advantage of indirect call in BASIC

 I've not encountered this is my career previously, but now I'm seeing a
 system written almost entirely with the use of indirect calls in Universe
 BASIC.

 That is
 SOURCE = *SOME.PROGRAM
 ...
 CALL @SOURCE(INPUTS)

 Is there some advantage to the use of indirect calls that a system would
 be written entirely in this fashion?


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



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


Re: [U2] Advantage of indirect call in BASIC

2012-12-03 Thread Allen Egerton
On 12/3/2012 7:38 PM, Wjhonson wrote:
 I've not encountered this is my career previously, but now I'm seeing a 
 system written almost entirely with the use of indirect calls in Universe 
 BASIC.
 
 That is
 SOURCE = *SOME.PROGRAM
 ...
 CALL @SOURCE(INPUTS)
 
 Is there some advantage to the use of indirect calls that a system would be 
 written entirely in this fashion?

In Prime Information, the reference would be resolved the first time
that the routine was called, and it would be cached.  Thereafter, calls
to the routine would be faster.

The other reason would be to allow varying programs to be assigned to
the @var reference.

-- 
Allen Egerton; aeger...@pobox.com

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-03 Thread George Gallen
I've used it to dynamically create the subroutine name to call, based on 
criteria, also you pass a name
   from one program to another, then call that subroutine from that program.

George


George Gallen
Senior Programmer/Analyst
Accounting/Data Division
ggal...@wyanokegroup.com
ph:856.848.9005 Ext 220
The Wyanoke Group
http://www.wyanokegroup.com

From: u2-users-boun...@listserver.u2ug.org 
[u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson [wjhon...@aol.com]
Sent: Monday, December 03, 2012 7:38 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Advantage of indirect call in BASIC

I've not encountered this is my career previously, but now I'm seeing a system 
written almost entirely with the use of indirect calls in Universe BASIC.

That is
SOURCE = *SOME.PROGRAM
...
CALL @SOURCE(INPUTS)

Is there some advantage to the use of indirect calls that a system would be 
written entirely in this fashion?


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


Re: [U2] Advantage of indirect call in BASIC

2012-12-03 Thread Kate Stanton
I would hate to see that in our software, as it would be so hard to find
where a subroutine is used.

On the odd occasion we use this form (eg call depends on transaction type),
we do the definition just above, so it can be found.

In my experience, the number of parameters is more likely to change that
the subroutine name.

On 4 December 2012 13:38, Wjhonson wjhon...@aol.com wrote:

 I've not encountered this is my career previously, but now I'm seeing a
 system written almost entirely with the use of indirect calls in Universe
 BASIC.

 That is
 SOURCE = *SOME.PROGRAM
 ...
 CALL @SOURCE(INPUTS)

 Is there some advantage to the use of indirect calls that a system would
 be written entirely in this fashion?


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




-- 
Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Phone: + 64 9 360 5310  Mobile: + 64 21 400 486
Email: k...@walstan.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Advantage of indirect call in BASIC

2012-12-03 Thread Ed Clark
I could see a 4gl writing out this kind of code, or a menu system. 
When you use indirect calling, the name of the subroutine can contain odd 
characters that wouldn't normally be allowed--though on some platforms you can 
also quote the call, e.g.:
  CALL my-sub**(parms)

On Dec 3, 2012, at 7:38 PM, Wjhonson wjhon...@aol.com wrote:

 I've not encountered this is my career previously, but now I'm seeing a 
 system written almost entirely with the use of indirect calls in Universe 
 BASIC.
 
 That is
 SOURCE = *SOME.PROGRAM
 ...
 CALL @SOURCE(INPUTS)
 
 Is there some advantage to the use of indirect calls that a system would be 
 written entirely in this fashion?
 
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

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


Re: [U2] Advantage of indirect call in BASIC

2012-12-03 Thread Israel, John R.
As far as the number of arguments changing, I will often write a subroutine 
with a few extra variables (FUTURE1, FUTURE2, FUTURE3) so that I do not need to 
find all the existing programs that call it and recompile them.  It makes this 
sort of thing a piece of cake.  The existing programs will likely not need to 
populate the arguments other than initialized to null.

John Israel

Sent from my iPhone

On Dec 3, 2012, at 9:28 PM, Kate Stanton k...@walstan.com wrote:

 I would hate to see that in our software, as it would be so hard to find
 where a subroutine is used.
 
 On the odd occasion we use this form (eg call depends on transaction type),
 we do the definition just above, so it can be found.
 
 In my experience, the number of parameters is more likely to change that
 the subroutine name.
 
 On 4 December 2012 13:38, Wjhonson wjhon...@aol.com wrote:
 
 I've not encountered this is my career previously, but now I'm seeing a
 system written almost entirely with the use of indirect calls in Universe
 BASIC.
 
 That is
 SOURCE = *SOME.PROGRAM
 ...
 CALL @SOURCE(INPUTS)
 
 Is there some advantage to the use of indirect calls that a system would
 be written entirely in this fashion?
 
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 
 
 
 -- 
 Kate Stanton
 Walstan Systems Ltd
 4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
 Phone: + 64 9 360 5310  Mobile: + 64 21 400 486
 Email: k...@walstan.com
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users