# Object Type System and subtypes

**URL:** <https://techcommunity.softwareag.com/t/object-type-system-and-subtypes/182228>\
**Category:** Forum\
**Tags:** Adabas-Natural, Natural, Natural-Add-on-Products, Natural-Predict\
**Created:** [June 5, 2015, 7:39pm UTC](https://techcommunity.softwareag.com/t/object-type-system-and-subtypes/182228 "2015-06-05T19:39:47Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eugene](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Eugene](https://techcommunity.softwareag.com/u/Eugene)\
**Post date:** [June 5, 2015, 7:39pm UTC](https://techcommunity.softwareag.com/t/object-type-system-and-subtypes/182228/1 "2015-06-05T19:39:47Z")

</div>

Trying to define a NATURAL Application in PREDICT and unclear about SYSTEM types:  
A=Application Library  
B=Base  
O=Compound Application  
I have subsystems withing the application (all in the same NATURAL library).  
It seems only type=A can have implementation pointer;  
Only type=B can be children of type=O;  
How do I link type=A to type=B/O?

---

<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 6, 2015, 9:36pm UTC](https://techcommunity.softwareag.com/t/object-type-system-and-subtypes/182228/2 "2015-06-06T21:36:30Z")

</div>

Hi, Gene. I haven’t played with compound applications since their release, and that was without the involvement of Predict, but perhaps a pointer to the documentation will help.

> [@](#):
>
> A Natural application is a collection of Natural objects and non-Natural objects which build a functional unit from the business point of view. Such an application does not contain the objects themselves. It is just a collection of links to the objects or to other applications. Each link describes where the corresponding object or application is stored. Each object or application can be linked to more than one application. All applications are managed by the Natural Development Server and are stored in the Natural Development Server file. – from Managing Applications

Natural for Windows → Remote Development Using SPoD → Managing Applications → Connecting and Disconnecting Base Applications  
[http://techcommunity.softwareag.com/ecosystem/documentation/natural/nat834win/spod/spod-applications.htm#spod-appl-connectbase](http://techcommunity.softwareag.com/ecosystem/documentation/natural/nat834win/spod/spod-applications.htm#spod-appl-connectbase)

---

<div class="post-metadata">

**Author:** ![Eugene](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Eugene](https://techcommunity.softwareag.com/u/Eugene)\
**Post date:** [June 8, 2015, 5:08pm UTC](https://techcommunity.softwareag.com/t/object-type-system-and-subtypes/182228/3 "2015-06-08T17:08:41Z")

</div>

Thanks Ralph. However I believe this applies to NATURAL and not PREDICT.  
Now I am on the mainframe, but there are three types of “SYSTEMS” that apply here w.r.t. PREDICT obj types.  
Only type “A” = application can have an implementation pointer.  
Only type “O” = Compound can have SY to SY relationship, and they must be type “B”.  
Type “B” = Base cannot have implementation pointer nor SY to PR relationships (for type “A” only).

So maybe you can see my dilemma on how I define subsystems.  
The only thing I can think of that would kind of work is to define each subsystem as an application.  
That way I can have the implementation pointer and link to program objects.  
I would like to be able to tie all the subsystems (i.e. Type “A”) together as a “Full Systems”.

Any ideas are appreciated. Thanks. :idea:

---

<div class="post-metadata">

**Author:** ![Eugene](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Eugene](https://techcommunity.softwareag.com/u/Eugene)\
**Post date:** [June 8, 2015, 5:24pm UTC](https://techcommunity.softwareag.com/t/object-type-system-and-subtypes/182228/4 "2015-06-08T17:24:34Z")

</div>

I stand corrected w.r.t. type “B” systems having relationship with programs.  
There are two relationships available:

1. System has components PR - relation type CP. Not permitted for type “B” only type “A”.
2. Systems uses PR concept - relation type PR. This one is permitted for type “B”.   
So it is a start.  
But the next issue is tying this to XREF data and Library Structure.  
I have tied the the library structure to the library and steplib but link to library is type “A” again.

---

<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:33pm UTC](https://techcommunity.softwareag.com/t/object-type-system-and-subtypes/182228/5 "2021-04-02T15:33:33Z")

</div>


