Tuesday, May 6, 2014

BDLS. Performance Problem

Every SAP Basis faced with creating test system with another ID. In that case we must use BDLS for changing logical names in database tables. The BDLS processing may take very long time. And increasing the time will depend on the size growth of the database.
How can we reduce the BDLS processing time?
For the answer for this question I have write this article.

So… First key point is “Test run” option. We must always perform the changing of logical names in two steps. The first step is perform with enabled “Test run” option. The test run enables create the tables list to be converted (remember not all tables must have the converted), and speed up the real run, because no longer has to check every table. Below, you may see example pic:

In my case, “Test run” takes longer time unlike real update mode. After the test run was completed, you can find in BDLSS the report with tables which to be updated. Now you can run in real update mode.

Using this simple method i can change the logical names for four hours, on the system with size about 5,5 Tb.
But, we can reduce this time. For this, we must turn to report (BDLSS) and mark the tables with many rows for update, there we find the column names with existing the rows for update. With this information we can manually update some tables using simple SQL expression. Below I explain how you can change the logical names with manually correction with maximum reduction of time.   

Every time you update the test system, you must change the logical names in the same SAP tables (not Z tables, their number can change)!!! So, you can create the list of tables which you want to update using SQL expression. These tables you must put in exception list, transaction BDLSC:

Now BDLS will ignore these tables in both mode test and update mode. While BDLS is running, you can manually update them using SQL. How can you see, is very simple.   

I apologize in advance for my english