abaptransport

find all master objects and all corresponding sub objects from transport tables


I have a requirement to get all master object types and their corresponding sub objects from transport tables.

I dived into E070 and E071k tables. In E070 if pgmid(program id) is R3TR then it is a Master object type and if it's LIMU then it is suboject or change in sub object.Some entries are also in E071K with their corresponding master types.

For example if i create a table zabcd then in E071 would look like

pgmid   object_type   object_name

R3TR    DEVC           zabcd

R3TR    TABL            zabcd

LIMU    TABT           zabcd

LIMU    TABD           zabcd

and no entry in E071K

Now when i create TMG(and function group) for the said table,

Following additional entries get into E071

pgmid   object_type   object_name

R3TR    FUGR           zabcd

R3TR    TOBJ            zabcd s

R3TR    TABU           TVDIR

R3TR    TABU           TDDAT

and E071K looks like

pgmid   object_type   object_name    master_type  master_name

R3TR       TABU              TVDIR        TABU           TVDIR

R3TR       TABU              TDDAT        TABU          TDDAT

Now from E070 i can identify which all objects are master and which are sub objects(or change in sub objects).

1)But how can i find which sub object is related to which master object.For example how to find {LIMU, TABT, zabcd} and {LIMU, TABD, zabcd} are sub objects of which master type.

2) Do the master type and master name in E071k correspond to R3TR entries in e071 under object type and object name.For example is it necessary that (TABU, TVDIR) under master type master name in E071K has an entry in E071 under object type object name with pgmid as R3TR

3)What does pgmid in E071k signify?


Solution

  • For your first question, check the function module GET_R3TR_OBJECT_FROM_LIMU_OBJ - this should do what you need. Much of this is hard-coded and there for historical reasons, so simply accept and use it but in the name of sanity, don't question it :-)

    As far as I understand your second question, I'd say the answer is yes.

    As for the PGMID in E071K, I'd say it's in place because a TROBJTYPE is not specified completely without a PGMID - although I haven't yet found an ambiguous TROBJTYPE.