Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Semarchy xDM allows you to model dynamic attributes used in retail.

The goal is to automatically associate attributes to a product while creating this one according to its subfamily.

step by step guide

The following instructions are based on our current Intelligent Data Hub model, specifically the product domain.

  1. Creating 4 entities ( ProductAttribute, AttributeValue, AttributeSubFamily, Attribute) with their relationships, as the model below, are necessary.

Image Added

Image Removed

 

  • Attribute : All attributes created for product subfamilies.

 

  • AttributeValue: For constrained attributes, values are stored in this table.

 

  • AttributeSubFamily: Associate the attributes to the subfamilies products

 

  • ProductAttribute: Associate the attributes to the products.

 

 

2. Adding your attributes needed for the products

3. For the constrained attributes, add the values

Image Added

4. Associate the attributes to their subfamilies

Image Added

Image Removed

 

5. To associate the attributes to the product being created, first you need to declare a PL/SQL procedurepgSQL procedure.

Info

The steps 5 and 6 are optional. It allows to automatically retrieve the attributes according to the product subfamily. However, it is also possible to add the attributes manually.

PL/SQL pgSQL function to associate the attributes to the product by subfamily.

Code Block
breakoutModewidelanguagesql
CREATE OR REPLACE FUNCTION usr_create_productattributes(p_loadid numeric)
RETURNS void
LANGUAGE plpgsql
AS $function$
begin
insert into sa_product_attribute (b_loadid, b_classname, b_creator, b_credate, product_attribute_id, f_product, f_attribute)
select sp.b_loadid, 'ProductAttribute', sp.b_creator, sp.b_credate, nextval('seq_product_attribute'), sp.id, gsf.f_attribute
  from sa_product sp
inner join gd_attribute_sub_family gsf on sp.f_sub_family = gsf.f_sub_family
where b_loadid = p_loadid
and not exists ( select 1 from sa_product_attribute sa where sa.f_product = sp.id and sa.f_attribute = gsf.f_attribute);
end;
$function$;

6. Next, set the step triggers with the created PL/SQL on the product’s stepper:

7. Now, you You can see the attributes associated to the product as below and set the value :

Image Removed

Image Removed

 

Image Added

 

Image Added

 

 

8. You can now edit your additional attributes by setting the values and finish the creation. Image RemovedAdditional attributes can be shown on the product card

 

Image Added