Skip to Content

Summary:

Sometimes we have multiple loads to same Cube at a time. This creates multiple DIMID’s for a similar set of characteristic values in Dimensions. This causes complications in Data Compression process where the records are not compressed and hence null elimination does not take place. This document will also help us to tell how to Automate these tasks for future executions.

Introduction

Null Elimination is the activity done in Info Cube where a Record is deleted if all the Key Figures have null values (0). This activity is carried out by compression performed during Load Time. But, the problem arises when the Data is loaded using multiple parallel processes i.e.; multiple loads to same Cube at a time. This creates Multiple DIMIDs for a similar set of characteristic values in Dimensions. This causes complications in Data Compression process where the records are not compressed and hence null elimination does not take place. This problem can be solved by Using a Combination of tools and programs as shown below.

Below Example shows the normal behavior of Cube and how Compression and Null Elimination is performed.

DIMID

MATERIAL

CC

AMOUNT(KF)

QTY(KF)

1000

A

X

10

20

1000

A

X

-10

-20

1000

A

X

0

0

The Last Row will be removed since both the Key Figures are 0.

Now the erroneous case :

In Red, we have the record that is causing error as the DIM ID is different.In this case, the system cannot compress 3 records with each other. Even the records with similar DIMIDs are not compressed since the system cannot leave the third record out which hassimilar values for characteristics

DIMID

MATERIAL

CC

AMOUNT(KF)

QTY

1000

A

X

       10

     20

1001

A

X

10

20

1000

A

X

-10

-20

Procedure:

Finding out the records having same set of characteristics but with different DIMIDs

  • Go to transaction Code RSRV
  • RSRV -> All Elementary Tests -> Transaction Data -> Multiple Entries in Dimensions of a (Basis) Info-Cube
  • Drag and Drop on Right Hand Side.
  • We can drag and drop as many times we want. This is usually the number of Dimensions we want to test.

Click as shown in figure.

  • The Parameter Entry window will pop up.
  • In “Info-Cube” enter the technical name of the Info-Cube and click on possible selections button of Dimension.

  • The following window will pop up.

        

  • Exclude the following dimensions.
    1. Data Package
    2. Time
    3. Unit
  • Check in column “LI”. If the dimension is marked as X, do not select it. This is line item dimension and does not need to be tested since it doesn’t have DIMIDs.
  • We will have to drag and drop the test as many time the number of Dimensions we need to check. Here, we will have the test for 2 dimensions, so we will drag and drop the test twice.

Note : We can run the test for multiple cubes at a time. And if we need to perform the test for similar set Cube and Dimensions, then we need not select the values each time we perform this task. Here we will see how to save our time in such cases.

  • Once all the Details are filled in, then Click on Edit – > Test Package-> Save

  • Enter the Description and Package ID. And click on execute to save.

  • If next time you perform this task, just go to T-code RSRV and click on Edit-> Test Package-> Load and select the package that we’ve created. Click on execute and you can see all of the values preselected in the next screen.

  • Now Click on Execute.
  • Check the result colour. Each dimension test will have either Green or Yellow. If all the dimensions are Green, exit the transaction. There’s no need to follow any of the below mentioned steps.
  • If any of the dimension test is in yellow, proceed below mentioned steps.
  • You can see in our example, some tests returned with yellow status.

  • Go back to previous screen.
  • Click on “Correct Error” as shown below.

  • A window will pop up “Carry out repairs”, click Yes and wait.
  • Next popup window will ask whether you want a unique dimension key, click “Yes”.
  • Similarly, click “Yes” to the following popup asking whether you want to delete unused entries.
  • These three pop-ups will appear for each dimension that was yellow. Click “Yes” for each Dimension.
  • Now we have corrected the DIMIDs for all the records having similar set of characteristics.

Merge records having same characteristic values.

  • Go to Transaction Code SE38
  • Enter Program : RSCDS_MERGE_DUPL_REF_POINTS and Execute.

  • Make the settings as shown in the below figure.
    1. Info-Cube name (In this example Z_TCB)
    2. Package size : 100 (This will be the default)
    3. No selection condition.
    4. Simulate Only box “Unchecked”. (By default it will be checked, so Uncheck it.)

  • Now in order to save time for future executions, we are going to save the selections we entered as Variants as shown below.

  • Now we can load the same variant next time as shown below.

  • Go to program, Execute in Background

  • The following window will pop up. Make the setting as shown below.  i.e. Enter the printer name as specified in your system. Here we have entered ‘locl’ in the output device.

  • Click continue also on the next popup window
  • New window popup. Click on “Immediate”.
  • Then click on save.
  • A Background Job will be scheduled.

Job Name : RSCDS_MERGE_DUPL_REF_POINTS

Go to SM37 and check the status of the job.

Note: We can run the above program simultaneously for several cubes.

Eliminating the records having all the Key Figures as null (0)

  • Go to transaction SE38.
  • Program: RSCDS_NULLELIM
  • Enter the name of the program and click on execute.

  • The following window will pop up. Make the settings as shown below.
    1. Correct Info-Cube name.
    2. PACKSIZE : 10,000 (This is default)
    3. NO_BASIS: Unchecked (This will be checked by default, uncheck it.)
    4. SHOW_REP: Unchecked.
    5. SIMULATE: Unchecked.

  • To use the same selections for future, we will be creating a Variant for this selection as below.

  • Similarly as we did in last program, we select the variant in order to preselect the selections.Go to t-code SE38àProgram Name : RSCDS_NULLELIM àExecute à Gotoà VariantsàGetà Select the variant we created .
  • Now Execute the program in Background as shown below.

  • The following window will be displayed. Enter “locl” in Output Device and click on continue as shown below.

  • Click on continue. Next Click on “Immediate”

  • Then click on “Save” as shown below.

  • New Background Job will be scheduled.

Job Name:  RSCDS_NULLELIM

Go to SM37 to check the status of this job

  • If the status of the job is Finished, the task is completed and null Elimination has been carried out.

Note: So far we have noticed that for each step we carried out, we have created Packages and Variants this is for saving the time for entering the selections each time. To get a more smarter approach for this task, we can create a process chain and with the help of ABAP process types, we can call these packages and programs through an ABAP program and include them in process chain, this will automatically perform all the steps without any manual intervention. We can also schedule this process chain as a part of Weekly/Monthly maintenance activity.

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply