× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Loyd,

Sorry for the delayed response, I am trying to catch up on my inbox of 1000
e-mails.

I have a product called ADBREL (Application Database Relations) which
documents a database in something similar to Synon ERD relationships:  The
field naming convention used in the database is AABBBBBB.
    1.  FILE   Known by     BBBBBB
    2.  FILE   Qualified by   BBBBBB
    3.  FILE   Owned by     FILE          (Role_Name)
    4.  FILE   Refers to       FILE          (Role_Name)
    5.  FILE   Extension of  FILE           (Role_Name)
    6.  FILE   Refers to      Role_Name   Base_Field   ROLE_NAME
Role_Field
    7.  FILE   Refers to      Role_Name   Base_Field   CONSTANT     'ABC'
    8.  FILE   Refers to      Role_Name   Base_Field   *FILE

ADBREL has been in development/production for over 10 years having
designed/generated complex applications with over 2000 tables.  Normally
these tables are implemented with full RI including many triggers which are
all generated from ADBREL.  ADBREL is a component of an application
generator (RPGLE) called GENSYS.   ADBREL is constructed at a very high
level of abstraction so field names do not get in the way.

In the last couple of years I have done a lot of work attacking the problem
set that you are working on, i.e., Retro design of a database back to an
abstract format (ADBREL).  I have an SQL generator (WRKRCD) that can join up
to 30 files without the need to specify file prefix or base field names.
If role names are involved then the join requires the Role_Name (or field
names with/without file prefix, or alias search expressions) which then
supplies field names to WRKRCD.  The SQL statement generated can be
executed, syntax checked, and/or written to a script file.  The join fields
can be supplied in JOIN, EXISTS, or ORDER BY formats.

Example 1:       This uses a natural join so no ADBREL setup is necessary.
This is the way it runs out of the box in 1 second.
Command:        WRKRCD FILE(ORDITM)  JOIN(ITMMAS)
Results in:          Select a.*, b.*
                         From ORDITM a
                         Join ITMMAS b on a.OIco# = b.IMco# and a.OIitem =
b.IMitem

Example 2:       This uses Role_Names (BILLTO and SHIPTO) that must be
defined in ADBREL using format 6.
Command:        WRKRCD FILE(ORDHDR) JOIN(BILLTO SHIPTO)
Results in:         Select a.*,b.*, c.*
                        From ORDHDR a
                        Join ADRMAS b on a.OHco# = b.AMco# and a.OHadbill  =
b.AMadd#
                        Join ADRMAS c on a.OHco# = b.AMco# and a.OHadship =
c.AMadd#

ADBREL can automatically create all of the natural joins and can greatly
assist in creating the Role-Name joins.  Once you supply a role name
relationship, all such "Owned by", "Refers to", etc. relationships can be
generated.

The tools can do lots more than described here, but I think you get the
gist.  This tool is very flexible with many *SRVPGMs and Procedures that
could be quickly structured to your immediate needs.

Feel free to respond on or off-line.  I would be happily to assist you in
any way I can.

Thanks,
Don Tully
Tully Consulting LLC
920 996-0448

"Goodbar, Loyd (ETS - Water Valley)"
<LGoodbar@xxxxxxxxxxxxxx> wrote in message
news:EA985E321704D411BD0F009027B1030C07D342B1@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> Vern,
>
> >From what I can see, the QSQGNDDL API provides the same functionality
that
> "Generate SQL" does from the iSeries Navigator. I briefly reviewed the
> database functions in Navigator yesterday. Today I found the redpaper "DB2
> UDB Database Navigator and Reverse Engineer", which mentions the ANSI SQL
> generate option.
>
> There's also a "User Defined Relationship" option that looks like what I'm
> after. From the paper, "This function is likely used to illustrate a
> referential integrity constraint that is implemented on the application
> logic and not defined in the database."
>
> The project team I'm on is implementing Hyperion planning, analysis, and
> reporting. One of our requirements is to provide drill-down into our ERP
> data from Hyperion. I assume I need to define the drill-down relationships
> to Essbase (houses the Hyperion data). Our ERP system is composed of
around
> 1,200 tables for which I need to define relationships. I'm hoping to get
> financials and the major inventory management tables defined in short
order,
> as they are the majority of drill-down focus in phase 1.
>
> Thanks,
> Loyd
>
> Loyd Goodbar
> Senior programmer/analyst
> BorgWarner
> E/TS Water Valley
> 662-473-5713




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.