Skip to Content
avatar image
Former Member

Table for repository objects of a particular program.

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.

Add comment
10|10000 characters needed characters exceeded

  • Former Member

    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.

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

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Apr 12 at 01: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.
    
    Add comment
    10|10000 characters needed characters exceeded

  • Apr 04 at 03: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?

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      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.

  • Apr 04 at 02:11 PM

    Doesn't custom code remote compare analysis in transaction /SDF/CD_CCA already fulfill your requirement?

    Add comment
    10|10000 characters needed characters exceeded