In your normal course of work in BW you would find yourself "stuck" in certain situations unable to decide how you would move forward. Some of these situations could be because certain functions are not available in the system. Most of these situations can be easily overcome if you know some "handy" tricks. I shall discuss some of the tips and tricks which should be useful to know for a BW consultant.
Enhancements are a never ending part in a project. There would be cases where you may need to add additional field to your datasource. One common issue which has been discussed quite often is that after adding the field to the extract structure it is not available in RSO2 or via RSA6 -> edit datasource. You can call this a bug which I experienced often when I was working with R/3 4.6C and 4.7. The problem can be easily overcome if you understand the ROOSOURCE table. You need to execute this handy program and you are set to go!!
Here are the steps:
Goto R/3 -> RSO2 -> your datasource and see if the newly added fields are there. If yes, then check if the checkbox for hidden is checked. If so, then uncheck them.
Goto R/3 -> SE11/SE16 -> ROOSFIELD table and see if you see the new fields for your datasource. If you see the new fields then execute this program:
Execute the program for each of the field and check the entries in RSA6/RSO2.
One caution though: Be careful in executing this program as you need to define the where conditions of the ABAP statement correctly for datasource and the field.
Find the R/3 field for the Corresponding BW info-object and vice-versa:
This is another situation where a BW consultant is stuck trying to find exactly which BW info-object needs to be mapped for the R/3 field in the transfer rules. For such cases you need to use the tables RSOSFIELDMAP. I just checked the info-object for the R/3 field MATNR and I got the BW info-object as 0MATERIAL.
I just found this by chance. One of the SDNers wanted to know the list of info-objects where a particular info-object is an attribute. You can use the table RSDBCHATR. The field is ATTRINM.
Since we are on the point of Datasources, here is a table that contains Delta pointers (Generic Deltas).. I needed to use this to check where the delta pointer has reached so that I can delete older data from the source... The table is ROOSGENDLM for client specific (which is the case for most data sources) and ROOSGENDLT for others. The fields is DELTAID and REPEATID give you the status of the generic delta pointer.
You can get more info of course from the table ROOSPRMSF which contains the control parameters for the datasources..