Table column naming convention (esp. table prefixes)

Robert Robinson

Robert Robinson

Reputable Poster
I am running through the documentation available in the Knowledge Jungle (which is just east of useless!) to see if there is a breakdown of the column naming scheme in the JDE tables, especially the prefixes used (e.g. the prefix for the F0411 table is "RP", so the amount column in that table is RPAG). Does anyone know of such a list, especially for column prefixes in the mainstream applications like Gen Accounting, A/P, A/R, etc. Thanks.
 
I don't know of any document that would show logic to any kind of scheme, but the F9860 shows the Prefix column for each table (if that's what you're after).
 
I am actually using UTB to hit the F9860 as I write this; and a query with SIFUNO=TBLE, I do see the table prefixes (in the SIPFX column).
Thanks.
 
I've never been able to identify any defineable logic - regarding the Column
Name Prefix. Most clients/developers just put in what fits for the
situation and hope that there aren't any conflicts.

The purpose of the prefix is for design purposes. So when doing SQL and
joins, you know which column belongs to which table - the prefix is proper
database design.

(db)

On Thu, May 22, 2008 at 9:25 AM, Robert Robinson <[email protected]>
wrote:



--
 
Hi Robert, Curtis, Daniel,

The prefix is a heritage from the ancient AS400/OS400/DB2 time/World.
Many code on that platform were written in RPG programing language (native language of this platform). If you deal with more than one table in the RPG code and is there a column, which has the same ALIAS in more tables, then RPG compiler will allocate the same memory for them, so if you modify either of them in the code, then you modify the others too.

I do hope, my explanation is clear enough.

Regards,

Zoltán
 
What I like is that most of these prefixes have not changed since I climbed aboard World in '86. I had just never seen the prefixes together in single document. Still, it is easy enough to tap into the F9860 with an ad-hoc tool to create my own list.
Thanks for the good knowledge...
 
Hello, I believe a good explanation os for why prefixes are necessary was given above. As for the prefixes themselves they have no meaning other than (in case of standard JDE tables) the two initials of the developer who created the table. At least this was the story around when I started supporting JD Edwards products.

I hope this clarifies your question.

Cheers.
 
Hi Robert,

About the naming convention.

I think, all developers áre free to create own convention for their custom tables.

In most of cases, an abbreviation is obvious. In other cases, when the data structure requires multi level tables, then the secon character can indicate the level, for example for Header/Detail/Sub-Detail levels:

xH xD xS or x1 x2 x3

Regards,

Zoltán
 
It seems the prefix for most tables was based on the table name or usage, at least initially. For example, the Item Master table prefix is IM; the Item Branch table prefix is IB; the Address Book table prefix is AB. It's easy to see how this scheme can run into problems pretty quickly, so quite a few tables (read: most of them) wound up with completely meaningless prefixes, like ZZ for the Message Log Ledger. Quite a few prefixes are reused, presumably in non-overlapping areas. Some tables have prefixes like A# and A5, so those are probably not developer initials (but you can never be 100% certain).

At this stage of the game, using developer initials makes as much sense as anything, as any scheme that may have at one time been present has long since fallen by the wayside.
 
Whatever fancy scheme you use, just don't change your table's prefix after you create your table; that is, unless you are looking for a new kind of headache.
 
That's pretty close Zoltan, but there's so much more to the drama:

Here's the story from the trenches, from someone who was actually there: me.

The prefix is indeed a throwback to the old 400 days. Remember the only product JDE had back then was the World product and that means everything we wrote was on the 400 which means everything was RPG. And even more significant, everything was RPG III which had certain limitations. For one thing, when you made assignments to table columns the language did not distinguish between which tables the columns belong to. Well it did, but not directly because the only way it would distinguish between tables is by the column names themselves. So, if I had table A and table B and they both have a column named TIME then my RPG program could not distinguish which table the TIME column belongs to. But, if I make a conscious effort when I make the table to give the columns a distinct name like TATIME (for table A) and TBTIME (for table B) then I can work directly with the appropriate table column in my RPG program. Thus, JDE came up with a standard for creating what we call the prefix and of course when One World came out it was coexistent with World, so it had to be brought over to One World too.

Now here's the super scientific method that we used when picking a new prefix: first we would look to see if our desired prefix existed anywhere. If it did not then we would just use it. Now it was pretty rare that we could come up with a prefix that no one had thought of before, because there were only two letters you could use. So, when you found the table, or set of tables that already had your prefix you had to make a decision. If the tables with your prefix were in some far off product that your table would probably never appear in the same program with (like real estate, or payroll) then you took a chance and just used the prefix. If it was in something close that stood a reasonable chance of actually appearing in the same program as yours, then you had to pick a new prefix and start the process over. And that was that, you really just took a grand guess and jumped.

In the brave new world of Enterprise One and the way the tool distinguishes between tables and columns and the use of SQL the prefix idea has become obsolete. However, the present tools work with prefixes and we're stuck with them despite their having lost their meaning altogether.
 
Do you know where in World are the prefixes for the tables stored ? I know F9860 but it is not available in World. Thanks.
 
Back
Top