Internal Object types (has to deal with USR0330N again)

Hello all!

USR0330N deliveres a so called “Internal Object type”. It was quite easy to find out, that this one-byte-field has the following meaning:

3 = Dialog
4 = Class
7 = Function
C = Global Data Area
F = Program
G = Copycode
H = Helproutine
L = Local Data Area
M = Map
N = Subprogram
P = Parameter Data Area
S = Subroutine
T = Text

But it would be interesting to know, why the “internal object type” of a PDA is P and not A. The types for GDAs and Copycodes seem to be interchanged…

And the most important question: Where are these internal object types used and why do they differ from the official ones? It isn’t used for the extension of the sources on the filesystem (e.g. NSP). It isn’t even used internally in the FILEDIR.SAG…

Regards,

This is just my guess, but could it originate from the German translation?
One really has to be carefull when using these object types, knowing if you are using the internal or external.

Matthias - off topic question, any chance you will be attending the Natural Conference in October?

Good idea, but I think there is no german word for “program” beginning with an “F”.

I see … :shock:

I guess you’re talking about the Natural Conference in Philadelphia. Sorry, there’s no chance.

Hi,

my assumption is that this is a bug and you should open a support issue.
Historically ‘P’ was the very first type. PDA follows later on and got the abbreviation ‘A’

Regards
Arthur

I don’t think so. Because you can read in the sample-Program USR0330P (which was written by software AG of course):

  2 OBJ-TYPE           (A1)   /* Internal object type ('F' is 'Program')

In USR2018P (I know it is not available on Open Systems) I found the following translation table:

/*                                                   
/* Mappings Internal/External Object Type:           
/*                                                   
/* 1 INTERNAL-TYPE-TABLE        (A1/1:28)            
/*   INIT  <'F', 'M', '*', 'X', 'C',       /*  1 -  5
/*          'L', 'P', 'U', 'S', 'H',       /*  6 - 10
/*          'N', 'Y', 'G', '*', 'R',       /* 11 - 15
/*          'Z', 'T', 'A', 'V', H'01',     /* 16 - 20
/*          H'02', H'03', H'04', '3', '6', /* 21 - 25
/*          '4', 'x','7'                   /* 26 - 28
/*         >                                         
/* 1 EXTERNAL-TYPE-TABLE        (A1/1:28)            
/*   CONST <'P', 'M', ' ', ' ', 'G',      /*  1 -  5 
/*          'L', 'A', ' ', 'S', 'H',      /*  6 - 10 
/*          'N', 'Y', 'C', '*', 'R',      /* 11 - 15 
/*          'Z', 'T', 'O', 'V', H'01',    /* 16 - 20 
/*          H'02', '5', H'04', '3', '6',  /* 21 - 25 
/*          '4', 'x','7'                  /* 26 - 28 
/*         >                                         

So, no bug, no support request. All is documented (somewhere :wink: )

The only bug is, that USR2018 is not available on Open Systems but on mainframe. :wink:

[quote="Wilfried B

To satisfy your curiosity: have a look at your own thread about USR0330N and my answers.

Sometimes it seems that mainframe Natural is more modern than OpenSystems Natural :slight_smile:

[quote="Wilfried B