# Find record using super descriptor

**URL:** <https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838>\
**Category:** Forum\
**Tags:** Adabas-Natural, Natural, Natural-on-Mainframes\
**Created:** [August 22, 2008, 6:39pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838 "2008-08-22T18:39:34Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kugh](https://avatars.discourse-cdn.com/v4/letter/k/f475e1/32.png) [@Kugh](https://techcommunity.softwareag.com/u/Kugh)\
**Post date:** [August 22, 2008, 6:39pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/1 "2008-08-22T18:39:34Z")

</div>

Good day,  
I have a super defined as follows:  
CON-TRANS-STATUS A 14 N S  
-------- SOURCE FIELD(S) -------  
CONTRACT-NO(1-8)  
TRANS-CODE(9-13)  
PROCESSING-STATUS(14-14)

I can read the file with the super descriptor but when I do a FIND or READ I do not find a record that does exist on the file.  
Eg. If I try FIND a record with the CONTRACT-NO 22222222, TRANS-CODE N1111 and status 0 I find nothing but if I just read the super by CONTRACT-NO, I can see that very record.

Please help.

---

<div class="post-metadata">

**Author:** ![Finn\_the\_Dane1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/finn_the_dane1/32/132_2.png) [@Finn\_the\_Dane1](https://techcommunity.softwareag.com/u/Finn_the_Dane1)\
**Post date:** [August 22, 2008, 6:52pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/2 "2008-08-22T18:52:00Z")

</div>

Your "super"definitions look strange to me ?!  
If I look at an example def like below the numbers in parenthesis refers to th epositions in the sourcefields. Yours look like positions in the target-field (superdescriptor).  
Finn

1 EF START-DATE-DESTINATION A 49 S

- 

```
 -------- SOURCE FIELD(S) -------

```

- 

```
 CRUISE-TYPE(1-1)

```

- 

```
 START-HARBOR(1-20)

```

- 

```
 START-DATE(1-8)

```

- 

```
 DESTINATION-HARBOR(1-20)

```

---

<div class="post-metadata">

**Author:** ![Kugh](https://avatars.discourse-cdn.com/v4/letter/k/f475e1/32.png) [@Kugh](https://techcommunity.softwareag.com/u/Kugh)\
**Post date:** [August 22, 2008, 7:03pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/3 "2008-08-22T19:03:15Z")

</div>

Hi,

Numbers in parenthesis refer to source fields and not positions in the target field.  
Source field definitions:  
Field name Format Length Suppression

* * *

CONTRACT-NO P 15.0  
LOG-TRANS-CODE A 5 N  
PROCESSING-STATUS A 1 N

Regards

---

<div class="post-metadata">

**Author:** ![Finn\_the\_Dane1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/finn_the_dane1/32/132_2.png) [@Finn\_the\_Dane1](https://techcommunity.softwareag.com/u/Finn_the_Dane1)\
**Post date:** [August 22, 2008, 7:09pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/4 "2008-08-22T19:09:40Z")

</div>

I’ll try to reformulate 😉

I think your super definition should be

CON-TRANS-STATUS A 14 N S  
-------- SOURCE FIELD(S) -------  
CONTRACT-NO(1-8)  
TRANS-CODE(1-5)  
PROCESSING-STATUS(1-1)

---

<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:** [August 22, 2008, 9:10pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/5 "2008-08-22T21:10:23Z")

</div>

The PROCESSING-STATUS field is null suppressed. You need to provide a non-zero value for this component of your superdescriptor.

For your READ or FIND by CONTRACT-NUMBER, display the PROCESSING-STATUS field. You’ll see the zero there.

---

<div class="post-metadata">

**Author:** ![Douglas\_Kelly](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/douglas_kelly/32/102_2.png) [@Douglas\_Kelly](https://techcommunity.softwareag.com/u/Douglas_Kelly)\
**Post date:** [August 24, 2008, 10:06am UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/6 "2008-08-24T10:06:11Z")

</div>

Ralph: null suppression is not relevant here…

> [@](#):
>
> if I just read the super by CONTRACT-NO, I can see that very record.

If the record can be read by super = CONTRACT-NO, then null suppression is not affecting the result. I think Finn is on the right track - the super is defined incorrectly and needs to be stated as Finn describes. Processing Status is A1, not N1, so “0” would be a non-null value.

Kugh - what Ralph is referring to are the null suppression rules. If a component of the super descriptor is drawn from a null suppressed field, then the super descriptor is suppressed. If PROCESSING-STATUS on a record contains a blank (that is, a null alpha value), then there will not be a super descriptor entry for that record, regardless of what the other source fields contain.

---

<div class="post-metadata">

**Author:** ![Steve\_Robinson](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/steve_robinson/32/107_2.png) [@Steve\_Robinson](https://techcommunity.softwareag.com/u/Steve_Robinson)\
**Post date:** [August 24, 2008, 5:02pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/7 "2008-08-24T17:02:52Z")

</div>

Doug Kelly wrote:

Kugh - what Ralph is referring to are the null suppression rules. If a component of the super descriptor is drawn from a null suppressed field, then the super descriptor is suppressed. If PROCESSING-STATUS on a record contains a blank (that is, a null alpha value), then there will not be a super descriptor entry for that record, regardless of what the other source fields contain.

While this is mostly correct, there is one part of it that is not well worded, and it is something that confuses many, many Natural programmers, hence the clarification below (the problem is that those of us who know this understood what you meant Doug, but those readers who do not know this, might well come away with a misconception).

Actually, there is no such thing as a null suppressed super descriptor.

When Adabas is “gathering” the pieces for a super descriptor, if one of the pieces has a null value, and if that piece comes from a field that is null suppressed, then, there is no entry for that record (as Doug said).

By way of contrast, suppose I have a super descriptor comprised of portions of three fields; f1 and f2 are null suppressed, f3 is not null suppressed. For a given record assume that there are non null values for f1 and f2 and a null value for n3. There will be a value for the record entered into the associator.

steve

---

<div class="post-metadata">

**Author:** ![Steve\_Robinson](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/steve_robinson/32/107_2.png) [@Steve\_Robinson](https://techcommunity.softwareag.com/u/Steve_Robinson)\
**Post date:** [August 24, 2008, 5:15pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/8 "2008-08-24T17:15:59Z")

</div>

Kugh wrote:

Eg. If I try FIND a record with the CONTRACT-NO 22222222, TRANS-CODE N1111 and status 0 I find nothing but if I just read the super by CONTRACT-NO, I can see that very record.

When you say “read the super by CONTRACT-NO”, do you mean

1. READ the file by the descriptor CONTRACT-NO and “look” at the values for all three components of the super descriptor

2. READ the file by the super descriptor with a starting value that has 22222222 for the first part of the super and nothing in the remainder of the starting value, and look at the values for all three components of the super

The term “read the super by CONTRACT-NO” will be confusing to many readers (myself included).

steve

---

<div class="post-metadata">

**Author:** ![Kugh](https://avatars.discourse-cdn.com/v4/letter/k/f475e1/32.png) [@Kugh](https://techcommunity.softwareag.com/u/Kugh)\
**Post date:** [August 25, 2008, 2:37pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/9 "2008-08-25T14:37:22Z")

</div>

I have redefined as suggested by Finn and it’s working.

Thanks all for your replies.

Regards

---

<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, 2:50pm UTC](https://techcommunity.softwareag.com/t/find-record-using-super-descriptor/78838/10 "2021-04-02T14:50:48Z")

</div>


