2018 Apr 04 2:29 PM
Hi all,
I'm creating a report wherein an Abapper will enter Program name and all the objects (fields, tables, includes, screens, etc.) of that program will be captured, compared with requests of production and display an ALV giving results if requests at both ends are same or not. This will be done to prevent RC8 during production movement.
The place where I'm stuck now is getting all those repository objects used in that particular program. Can anyone help me with a specific table or from where those repository objects are captured when we press ctrl+shift+F5 in a report.
2018 Apr 12 2:05 PM
Hi all,
My issue with regards to fetching repository objects of a specific program is resolved. This is done with the help of an FM 'REPOSITORY_ENVIRONMENT_RFC'.
CALL FUNCTION 'REPOSITORY_ENVIRONMENT_RFC'
EXPORTING
obj_type = lv_obj_type "SEU_OBJ
environment_types = ls_envi_types "ENVI_TYPES structure
object_name = obj_name-low "SOBJ_NAME
TABLES
environment_tab = lt_info_envi. "SENVI structure
* SOURCE_OBJECTS =
lv_obj_type - Type of main object. It could be 'PROG' 'FUNC' 'INCL'.
ls_envi_types - Fill 'X' in all fields of this structure.
obj_name-low - object name whose repository objects are needed.
lt_info_envi - This structure will return repository objects and its type.
Hi all,
My issue with regards to fetching repository objects of a specific program is resolved. This is done with the help of an FM 'REPOSITORY_ENVIRONMENT_RFC'.
CALL FUNCTION 'REPOSITORY_ENVIRONMENT_RFC'
EXPORTING
obj_type = lv_obj_type "SEU_OBJ
environment_types = ls_envi_types "ENVI_TYPES structure
object_name = obj_name-low "SOBJ_NAME
TABLES
environment_tab = lt_info_envi. "SENVI structure
* SOURCE_OBJECTS =
lv_obj_type - Type of main object. It could be 'PROG' 'FUNC' 'INCL'.
ls_envi_types - Fill 'X' in all fields of this structure.
obj_name-low - object name whose repository objects are needed.
lt_info_envi - This structure will return repository objects and its type.
2018 Apr 04 2:36 PM
Raza,
Objective of your program is not that simple as it sounds.
Why not got by a TR and its list of Objects/Sub objects rather than going by the program.
K.Kiran.
2018 Apr 04 3:11 PM
Doesn't custom code remote compare analysis in transaction /SDF/CD_CCA already fulfill your requirement?
2018 Apr 05 6:54 AM
Hi Fabian,
I just executed this T-code and it seems good but not fulfilling my objective. I'll, for sure, keep this as a second solution.
This gives comparison of the program and not all the objects included in the program which is our main purpose.
I debugged that repository object thing but failed to find any substantial clue where this is getting fetched from.
There should be a table I assume, where if we put name of the report it will give all the objects used inside the program.
Thanks.
2018 Apr 05 12:07 PM
2018 Apr 04 4:20 PM
The obvious answer to that is to ensure you have a consistent quality or pre-production environment. If you often get RC8 moving to production because of missing objects then your transport strategy needs reviewing.
Object indexes can become very complex to work with, this will be a large task. Also, things that will be difficult to catch are indirect activations, and false positives created by objects located in the same set of transports. So you will spend a lot of effort and never have a 100% solution. Better to look at your transport controls.
Does that explain why such a tool doesn't exist?
2018 Apr 05 6:48 AM
Hi Mike,
The RC8 thing is a rare occurrence. However, it doesn't give a good image in front of client. Also, the production movement is delayed. It is bit difficult to compare each and every objects in the program if it is 10k lines of code.
You're right that this is not a cent percent solution however, a step in the right direction. I'm sure the program I'm creating will improve as time goes and we'll add as many possibilities as we can to avoid as many RCs.
Thanks for your input.
2018 Apr 05 7:02 AM
Hi Kiran,
We have to go by the objects since a missing object in production can give RC8. We'll capture those objects first and then compare their corresponding TRs with production.
2018 Apr 12 2:05 PM
Hi all,
My issue with regards to fetching repository objects of a specific program is resolved. This is done with the help of an FM 'REPOSITORY_ENVIRONMENT_RFC'.
CALL FUNCTION 'REPOSITORY_ENVIRONMENT_RFC'
EXPORTING
obj_type = lv_obj_type "SEU_OBJ
environment_types = ls_envi_types "ENVI_TYPES structure
object_name = obj_name-low "SOBJ_NAME
TABLES
environment_tab = lt_info_envi. "SENVI structure
* SOURCE_OBJECTS =
lv_obj_type - Type of main object. It could be 'PROG' 'FUNC' 'INCL'.
ls_envi_types - Fill 'X' in all fields of this structure.
obj_name-low - object name whose repository objects are needed.
lt_info_envi - This structure will return repository objects and its type.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |