Friday 31 May 2024

Is it possible to delete/truncate the table entries of these tables "REPOLOAD, REPOSRC, REPOTEXT, D010INC, D010TAB" ?

 Upon analyzing the database's top tables, I discovered that table "REPOLOAD" contains almost 30+ GB of disk space. 

I found a useful Snote while searching 


2610985 - [Summary&FAQ] Large table size: REPOLOAD, REPOSRC, REPOTEXT, D010INC, D010TABnull

2193457. In case RS_LOAD_FORMAT_ADM doesn't exist in the system,
2324429 to check/delete obsolete loads manually.

Symptom

It has been noticed that REPOLOAD, REPOSRC, REPOTEXT, D010INC and D010TAB tables have huge amount of data in the system.

Environment

SAP NetWeaver release independent

Resolution

1. What are these tables used for?

REPOLOAD stores the ABAP program loads and REPOSRC stores the ABAP program source code. Find details in the Wiki page Understanding Program Load. The table REPOTEXT stores the Text Elements of the programs.

When an ABAP program load is generated, the tables D010TAB and D010INC are also updated. These tables contain the information about the includes and DDIC objects the load of a specific program depends on. These tables do not contain any entries for programs for which no load was generated. The tables D010TAB and D010INC play a central part in dependency management. For details, check SAP Note 1230076.

 

2. Is it possible to delete/truncate the table entries of these tables?

SAP does not recommend to delete contents from these tables unless SAP support ask you to do so.

If the REPOLOAD entries are lost, the system will face performance issues since all the entries of the table(program loads) will need to be re-created (it can be repaired with the regeneration of the programs, either manually or running SGEN, see KBA 1989778 for further information).

All the ABAP programs are stored in REPOSRC, so deleting the entries of REPOSRC mean deleting ABAP programs, which will definitely damage the system.

The tables D010TAB and D010INC are same, the dependence between ABAP programs and DDIC objects will be lost if the entries are deleted.

 

3. How to cleanup these tables?

As mentioned above, these tables store critical information, normally the data cannot be reduced.

But it is still possible that these tables contains obsolete entries:

 - Report RS_LOAD_FORMAT_ADM can be used to check whether there are obsolete data in REPOLOAD, D010INC, and D010TAB. The report can also be used to delete obsolete data. For details, see SAP Note 2193457. In case RS_LOAD_FORMAT_ADM doesn't exist in the system, check KBA 2324429 to check/delete obsolete loads manually.

4. Whether the table size in my system is normal?

Here are some samples:

NW750 - EHP8 FOR SAP ERP 6.0:




These two systems are just our internal test system which doesn't have any production business. So in real customer systems, it is normal that you have a much bigger size than above.

5. Suddenly the size of REPOLOAD, D010INC, D010TAB are growing quite fast. Why?

Most likely somebody executed a mass generation by SGEN or SAMT.


6. Table REPOLOAD has many entries for platform ID (MACH) equal to 0. Why?

REPOLOAD entries with MACH = 0 are used for precompiled headers and should not be deleted.

7. Index REPOLOAD~SRC exists and consume a lot of space. Why?

This is related to the ABAP Source Search in ABAP Development Tools for Eclipse (ADT). If this is not needed, the business function must be deactivate. See SAP Note 1918229 for further information.

See Also

  • SAP Note 1918229 - ABAP Source Search: Enable via Business Function
  • KBA 2324429 - Manually cleaning the ABAP Load table (Repoload)
  • KBA 1989778 - FAQ: SGEN
  • SAP Note 1230076 - Generation of ABAP loads: Tips for the analysis
  • SAP Note 2193457 - Job DELETE_OLD_LOAD_FORMAT/tables REPOLOAD, D010INC, and D010TAB grow