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?
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
.