Showing results for 
Search instead for 
Did you mean: 

basics of Enhancing datasource

Former Member
0 Kudos

Hi gurus,

I have a basic doubt on enhancements.

I have a data source based on an R/3 table. I have already pulled data from this datasource to BW(using Full Update). Now i want to enhance my datasource with a new field. Now...

what exactly the meaning of enhancement?

I think... It is populating the new field for the existing records in the cube without deleting and reloading.

I have used this procedure.

enhanced the datasource in RSA6.

uncheck the hide option and generated the datasource.

replicated datasource.

Now I create a project in CMOD to populate the Datasource using RSAP0001.

wrote code in include structure.

Activated the project.


what are the next steps I need to take from this step onwards...??

1) do i need to execute the project? OR

2) run another full upload? If I do full upload, all data will be populated again ofcourse with new field also. But I dont need all the data records again. OR

3) run Delta update... i.e. If i would have delta enabled my data source...(i.e. running an init load rathar than running a full load at first step), and now running a delta can populate the new field alone..???

Ultimately... which action populates the only new enhanced field...??? please confirm in detail.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi mvd,

1)In RSA3 check if your enhancement is correct and extract all data that you want.

2)If you want all your data in the Cube to have this new field you have to delete all the data in the Cube and make a full (or init depending by your upload method) upload.

3)If you only want this new field uploaded in your cube from now to the future you have only to proceed with the usual upload method that you are using now.

Logically I am considering, for step 2) and 3), that you have already replicated the DataSource in BW, modified the corresponding InfoSource - Update Rules - Cube for this new field.



Former Member
0 Kudos

Hi ,

Is there any way that i update only this new filed data for the already existing records, with out actually deleting them and doing a full load again with this new field also?

I think the enhancement basic goal has to be this? Am I correct about this?

Please confirm me guysss.

Thanks alot


Answers (1)

Answers (1)

Former Member
0 Kudos


I had this following notes with me taken from one of the SDN forums,.. not really sure from which one I saved this ...


Enhancement means in the SAP given datasource If you want to add extra fields.

The procedure is like below.

Take the datasource in which you enhance.

1. If you enhancing in the LO datasaource, take the aprapriate communication strucute append the structure in that structure add the fields you wnat enhance.

If you are enhancing other than LO you take extract structure append the structure and add the fields in that structure.

2. Goto LBWE Tcode take the option called "Maintain Extract structure" take the fields which you enhanced from pool take push in to extract strucure.

If you enhancing other than LO no need to do this.

3. Goto RSA6, take datasource, goto change mode. The enhanced fields Hide option checked, reomove that tick and save it.

4. Goto "CMODE" tcode, If project is already created for that enhancement goto disply mode. If the project is not created give the project name created and give the enhancemet name as "RSAP0001" and save it.

in the component you can find 4 Function modules

EXIT_SAPLRSAP_001 -> Transaction Data

EXIT_SAPLRSAP_002 -> masterdata attributes

EXIT_SAPLRSAP_003 -> Master data Texts

EXIT_SAPLRSAP_004 -> Masterdata Hirarchies.

Take the apprapriate FM and double click on it

there you can find Include name. If you double click on it you can find ABAP editor.

there we have to write the code

example code will be like below.

data: l_s_icctrcst like icctrcst,

l_s_icctract like icctract,

l_s_icctrsta like icctrsta,

l_tabix like sy-tabix.

case i_datasource. */ in BW 1.2B case i_isource.

when '0CO_OM_CCA_1'.

loop at c_t_data into l_s_icctrcst.

l_tabix = sy-tabix.

select single * from z0001 where kokrs = l_s_icctrcst-kok

and kostl = l_s_icctrcst-kostl.

if sy-subrc = 0.

l_s_icctrcst-zfield1 = z0001-zfield1.

l_s_icctrcst-zfield2 = z0001-zfield2.

modify c_t_data from l_s_icctrcst index l_tabix.



when '0CO_OM_CCA_2'.


when '0CO_OM_CCA_3'.


when others.