Skip to Content

Hi All,

In this blog, I am trying to explain the use of semantic groups option in DTP. You will get this option in extraction tab of DTP. Below is the screenshot showing the same.


Basically semantic groups are used for error handling. Let’s take an example.

Suppose I have a DSO with a record

EmpID  Location  Salary

101      PUN         40000

Now I am running another load to DSO

It is as follows:

EmpID  Location  Salary

101      PUN         50000

101      PUN         60000

Salary 40000 is changed to 50000 and then to 60000.

When I run the  DTP, suppose if the first record (101 PUN 50000) has an error it won’t get loaded to the DSO, it would go to error stack, the next record with salary 60000 will go to the DSO and overwrite salary 40000. After correcting the error in error stack when I run the error DTP the record with salary 50000 will go and overwrite the previous record. So finally the record in the DSO will have salary 50000 and not 60000 which is incorrect.

Here comes the use of semantic group.

We select the key for grouping as you can see in the screenshot. All the records are now grouped according to this key.

If any error comes system takes further records which have same key field combination to error stack and after correcting the erroneous record all the records will get loaded to the DSO in that order. Thus, we get correct data.

To report this post you need to login first.


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

  1. Shanthi Bhaskar

    Nice One…I used this option with good affect in BI 7.0.

    for instance in my Start or End routine I am getting PO line item data, I have a scenario where I need to arrive at sequence number for line items corresponding to a PO. If data is less than 50k then I would normally use sort command for getting PO’s in an order, but when one PO is getting loaded in multiple packets the above logic doesn’t work. I this case we can use semantic grouping option on PO. then system doesn’t split the PO into multiple packets. It will always load into the single packet.

  2. Matthew Billingham

    Basically semantic groups are used for error handling.

    I rarely use them for error handling. I use them to ensure that I don’t get the keys I’m interested split across packages.


Leave a Reply