09-22-2008 9:03 AM
Hi gurus,
I have made a program which checks in which order transports should be transported and if the list is complete with all nescessary versions.
In some cases (for examle) a transport contains a data element and another transport contains the table type which contains the data element. There is no depencie visible so I want to sort my list on objecttype, but I don't know in which order exactly. In which order does SAP need to import the objecttypes?
These are the types I founds so far (I don't know if the list is complete):
'CINC'
'CLAS'
'CLSD'
'CPUB'
'CUAD'
'DOMA'
'DOMD'
'DTED'
'DTEL'
'DYNP'
'ENQD'
'ENQU'
'FUGR'
'FUNC'
'HEAD'
'IDOC'
'INDX'
'MCID'
'MCOB'
'MCOD'
'MESS'
'METH'
'MSAD'
'MSAG'
'PROG'
'REPS'
'REPT'
'SHLD'
'SHLP'
'TABD'
'TABL'
'TABT'
'TRAN'
'TTYD'
'TTYP'
'TYPE'
'UDMO'
'UENO'
'VIED'
'VIED'
'VIET'
'VIEW'
regards,
Wim van Erp
09-22-2008 12:09 PM
Try to find in table TRDIR but the list isn't complete at all.
Webdynpro an bsp applications has their own names too and they aren't in the list.
By example W4DA
09-22-2008 12:30 PM
> I have made a program which checks in which order transports should be transported and if the list is complete with all nescessary versions.
Huge task. I tried that in the past but had to stop somewhere in the middle.
I think SAP is making it "easy" for themselves by importing all DDIC objects in one go and then activating them in a second step. This takes care of all dependencies, provided that all involved objects are contained in the transports (that's where your program comes in...)
I'm afraid you will have to workout the correct sort order yourself.
I think a complete list of all object types is not in one single table, but you can check search help SCTSOBJECT for the full monty.
Cheers
Thomas
09-22-2008 1:33 PM
Thanx for your contributions.
I have made a sorting mechanism based on my knowledge of these objecttypes. It wrks but most definately will be incomplete but that is not very important.
regards,
Wim
09-22-2008 1:51 PM
would you mind sharing this sort order here with us? I promise to look it over and see if I can find errors or additional dependencies.
Thomas
09-22-2008 3:32 PM
I've sorted it accordingly:
CASE p_objtype.
WHEN 'TYPE'.
Type group
gw_results-obj_sort = 1.
WHEN 'DTEL' OR 'DTED'.
Data element
gw_results-obj_sort = 2.
WHEN 'DOMA' OR 'DOMD'.
Domain
gw_results-obj_sort = 3.
WHEN 'TABL' OR 'TABD'.
Table
gw_results-obj_sort = 4.
WHEN 'TTYP' OR 'TTYD'.
Table Type
gw_results-obj_sort = 5.
WHEN 'INDX'.
Index
gw_results-obj_sort = 6.
WHEN 'VIEW' OR 'VIED'.
View
gw_results-obj_sort = 7.
WHEN 'ENQU' OR 'ENQD'.
Lock object
WHEN 'SHLP' OR 'SHLD'.
Search help
gw_results-obj_sort = 8.
WHEN 'MCOB' OR 'MCOD' OR 'MCID'.
Matchcode object
gw_results-obj_sort = 9.
WHEN 'MESS'.
Message
gw_results-obj_sort = 10.
WHEN 'TRAN'.
Transaction
gw_results-obj_sort = 11.
WHEN 'MSAG' OR 'MSAD'.
Message class
gw_results-obj_sort = 12.
WHEN 'IDOC'.
Basic type IDoc
gw_results-obj_sort = 13.
WHEN 'CLAS' OR 'CLSD' OR 'CPUB'.
Class
gw_results-obj_sort = 14.
WHEN 'PROG' OR 'REPS' OR 'CUAD' OR 'DYNP' OR 'FUGR' OR 'FUNC'.
Report - Funtion group
gw_results-obj_sort = 20.
WHEN 'CINC'.
WHEN 'HEAD'.
WHEN 'METH'.
WHEN 'REPT'.
WHEN 'TABT'.
WHEN 'UDMO'.
WHEN 'UENO'.
WHEN 'VIET'.
WHEN OTHERS.
gw_results-obj_sort = 15.
ENDCASE.
regards,
Wim
09-22-2008 3:47 PM
Do I understand correctly that the lowest obj_sort value is the type without further dependencies, and types with higher obj_sort value might be dependent on objects with lower values?
Please confirm or correct me first, before I analyse further.
By the way, there will be problems with circular dependencies like domains with check tables or tables with links to search helps...
Thomas
09-23-2008 8:24 AM
You are correct about the sorting order.
When an error occurs while transporting, it will try again later so everything will be transported correctly even without the correct sorting order. But I want to minimize the errors and with this order it will be fine, not 100% but good enough. If the order is correct of course...
regards,
Wim
09-23-2008 9:08 AM
- TYPE could have all kinds of DDIC objects in the coding, so I would move this to the highest level of DDIC objects
- DTEL and DOMA should change places, as DTEL references DOMA
- DOMA might have TABL as value table, as mentioned
- DTEL could have references to all other DDIC-objects, but this is probably impossible to factor in anyway
- MESS should have a higher level than MSAG
...
Due to the multitude of dependencies and especially the circular ones you will probably never fully get there, but you're aware of that anyway.
Good luck
Thomas