Showing results for 
Search instead for 
Did you mean: 

How to decide on semantic keys ?

Former Member
0 Kudos

Hi All,

We are facing one weird issue while loading data to one of the cubes. Please provide your inputs to resolve it.

Quantity needs to be fetched for Installation numbers using lookups in the end routine while loading the data from DSO to cube.

For each Installation number we are getting around 25 quantities.

If I am running a full load, 4 of the quantity fields are getting missed for one particular installation number

If I am using semantic keys (Installation number and some other fields), sometimes 2 and sometimes 1 quantity is getting missed which differs based on the semantic keys used.

If I run a full load with just that particular Installation number, all the data is getting loaded perfectly.

So our assumption is that the code is working properly, just that we need to change some settings for the full loads.

I have tried changing the package size and semantic keys but the data is not getting loaded correctly.

Please let us know your thoughts.



Accepted Solutions (0)

Answers (2)

Answers (2)

Active Contributor
0 Kudos


I guess issue is with end routine.

Can you come here with code and how many quantity fields you are achieving through look up.

How many DSOs  you are looking up.

Does it satisfies your key combination.

- Vijay

Former Member
0 Kudos

Hi Saurabh,

As i mentioned, in case i am not using the semantic keys, 4 records are not getting updated, for a different set of semantic keys, 2 records are not getting updated. the best scenario that i am getting is that only one record is not getting updated. So i strongely feel it has to do something with the proper semantic key selection

Vijay,If i am doing full load with one particular installation number, everything works perfectly fine. so i guess the code is ok.

Again, i am facing this issue when i am loading 1 year of data ...around 1200k records ... thats where i am missing teh records, if i am doing it based on monthly basis around 100k, it works fine. What i understand about semantic keys is that they group the similar data in one datapackage. so when its a monthly load, its working fine, but for a yearly load its missing few of the records probably due to huge data volume.

Please correct me if my understanding is wrong.



0 Kudos

Hi Abhishek,

I guess your transformation for the DTP is having some routine either start, end or expert routine.

The semantic keys  put all records into same data package which are having same keys.The semantic keys should be defined based on the select logic used in your routine. Check the code of routine.

1) If you have start routine for your transformation then check in your start routine whether you have any select query using for all entries source package.. with where condition. if you have this then the semantic keys should be defined based on your where condition fields. For e.g. Select * from xxxx into table itab for all entries in source_package where field1 = source_package-field1 and field2 = source_package-feild2. then in your DTP just define field1 and field2 as semantci keys.

2) If you have end routine then check for select quey with for all entries result_package, simialr to point above. For e.g. in your end routine if you have select ... from XXX into table itab for all entries in result_package where field3 = result_package-field3 and field4 = result_package-field4 then u shld define 3 and 4 as semantci keys in dtp.

For more info click

Former Member
0 Kudos

Hi Abhishek,

Do u really need semantic key ??

Have you tried loading data without semantic key ???

Because generally we avoid semantic key .

try loading data without semantic keys


Saurabh Singh