# External Subroutine

**URL:** <https://techcommunity.softwareag.com/t/external-subroutine/97464>\
**Category:** Forum\
**Tags:** Adabas-Natural, Natural, Natural-on-Mainframes\
**Created:** [June 18, 2011, 10:26am UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464 "2011-06-18T10:26:34Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Abhishek\_Gupta](https://avatars.discourse-cdn.com/v4/letter/a/13edae/32.png) [@Abhishek\_Gupta](https://techcommunity.softwareag.com/u/Abhishek_Gupta)\
**Post date:** [June 18, 2011, 10:26am UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464/1 "2011-06-18T10:26:34Z")

</div>

Hi,  
Where would we prefer using external subroutine over subprogram.  
Thanks  
Abhishek

---

<div class="post-metadata">

**Author:** ![Ralph\_Zbrog](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/ralph_zbrog/32/78_2.png) [@Ralph\_Zbrog](https://techcommunity.softwareag.com/u/Ralph_Zbrog)\
**Post date:** [June 18, 2011, 11:18am UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464/2 "2011-06-18T11:18:50Z")

</div>

An external subroutine can share a GDA with the calling routine, unlike a subprogram, which requires an explicit field list to pass parameters.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/techcommunity/original/3X/c/d/cd19967bb605d28a72d77eb83a1cae22f3df2eb8.svg) [@system](https://techcommunity.softwareag.com/u/system)\
**Post date:** [June 18, 2011, 12:39pm UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464/3 "2011-06-18T12:39:48Z")

</div>

More information at  
[http://techcommunity.softwareag.com/ecosystem/documentation/natural/nat427mf/pg/pg\_obj\_prog.htm](http://techcommunity.softwareag.com/ecosystem/documentation/natural/nat427mf/pg/pg_obj_prog.htm)

---

<div class="post-metadata">

**Author:** ![Abhishek\_Gupta](https://avatars.discourse-cdn.com/v4/letter/a/13edae/32.png) [@Abhishek\_Gupta](https://techcommunity.softwareag.com/u/Abhishek_Gupta)\
**Post date:** [June 19, 2011, 9:48am UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464/4 "2011-06-19T09:48:42Z")

</div>

Thank you very much everyone.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/techcommunity/original/3X/c/d/cd19967bb605d28a72d77eb83a1cae22f3df2eb8.svg) [@system](https://techcommunity.softwareag.com/u/system)\
**Post date:** [July 27, 2011, 5:38pm UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464/5 "2011-07-27T17:38:34Z")

</div>

Please don’t use external subroutines, they are just not worth the effort and they come with some big problems

see

[http://scctoolkit.atspace.com/tk-ds-dontuse.htm](http://scctoolkit.atspace.com/tk-ds-dontuse.htm)

---

<div class="post-metadata">

**Author:** ![Nikolay\_Kuhta](https://avatars.discourse-cdn.com/v4/letter/n/35a633/32.png) [@Nikolay\_Kuhta](https://techcommunity.softwareag.com/u/Nikolay_Kuhta)\
**Post date:** [July 27, 2011, 6:45pm UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464/6 "2011-07-27T18:45:07Z")

</div>

Well, at least in theory EVERYTHING may be written within ONE HUGE PROGRAM which would be “VERY-VERY EFFICIENT” 🙂  
This is my 2 cents.  
By the way, our shop uses NATURAL (with External Subroutine as well) for many-many years, and it looks like there`s nothing wrong with them (by “them” I mean our company, NATURAL and External Subroutines themselves 🙂

---

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [July 27, 2011, 8:14pm UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464/7 "2011-07-27T20:14:54Z")

</div>

Paul wrote:

> [@](#):
>
> Please don’t use external subroutines, they are just not worth the effort and they come with some big problems
> 
> see
> 
> [SCC Toolkit Version 3.2 - Display External Subroutines](http://scctoolkit.atspace.com/tk-ds-dontuse.htm)

Of course, there may be the odd time when it’s the perfect solution to a given problem. 🙂 I certainly would never ask SAG to get rid of this object type, and I am sure there would be some great pain if they ever desupported it.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/techcommunity/original/3X/c/d/cd19967bb605d28a72d77eb83a1cae22f3df2eb8.svg) [@system](https://techcommunity.softwareag.com/u/system)\
**Post date:** [April 2, 2021, 3:00pm UTC](https://techcommunity.softwareag.com/t/external-subroutine/97464/8 "2021-04-02T15:00:26Z")

</div>


