Check CSV File Structure
Check the structure of the .csv file containing the purchase orders before configuring
OnePart. The fields indicated below are mandatory:
PO Document (purchase order ID)
PO Date (purchase order date)
Part Number
Vendor Number
Configure Clusters
To be able to synchronize parts and clusters from OnePart with the purchase orders, all clusters from the procurement universe must be published
automatically in OnePart.
-
In the data model, add a dynamic field named reducegrouping to
the 3d_shape class.

-
In the mashup feed, add a meta value named clusterreduce to
the /cluster page.

It creates a new Force Publish All button in OnePart that you will use to test the configuration.
Add Property and Configure
Consolidation
You must add a property named part_key to the
class document. It identifies how the part is managed in the
purchase orders. Then you will need to configure the consolidation to link the purchase
orders to the part_key property.
-
Add the part_key property to the class
document.

-
Link the part_key property to purchase orders.
Extract Cost Drivers
To be able to study the price vs the potential cost drivers, cost drivers must be extracted
from the .CSV file containing purchase orders. Some cost drivers are directly related to the
buying (volume of ordered part, country of the supplier) while others are related to the
part (size, weight, volume of the bounding box, material). For cost drivers related to the
part, items must be added to the OnePartPAPIFilters connector.

In Connectors, add as many items as needed to the
OnePartPAPIFilters connector.
Configure Universe Files
You must configure template universe files to modify the .publish files generated when
publishing clusters to OnePart. In addition to the part_key property created previously, you will need to add all the
potential cost drivers you want to display in the application (like volume, mass or density).
Note that any attribute from OnePart can be used in Procurement Intelligence.
-
Go to
datadir\studio\templates\Categorization and
Deduplication\pre_conditions .
-
In create_parts_schemas, edit
custom.properties.
-
In
storageSchemas , add the name of your meta and its type, separated
by a colon (my_db_meta_name:TYPE ).
In the example below, we add volume, density, mass, and bb_diagonal:
storageTableName=op_parts
storageSchemas=url:STRING,shsignature:STRING,cluster_id:INTEGER,center_distance:REAL,uid:STRING,family:STRING,status:INTEGER,file_path:STRING,source:STRING,part_number:STRING,inertiabb_height:REAL,inertiabb_length:REAL,inertiabb_width:REAL,original_shape_cluster_id:INTEGER,published_cluster_id:INTEGER,prediction:STRING,part_key:STRING,volume:REAL,density:REAL,mass:REAL,bb_diagonal:REAL
index=url
-
In import_parts, edit custom.properties
as follows:
-
In
storageSchemas , add the name of the metas you entered
previously separated by a backslash and a colon
(my_db_meta_name\:TYPE ).
-
In
sq.addParameter.add_hit_meta , add the name of the meta stored
in the index (class_my_db_meta_name) .
In our example:
searchServerUrl=http\://localhost\:10310/search-api/search
sq.setParameter.streaming=true sq.addParameter.add_hit_metas=metas
sq.setParameter.synthesis=disabled mappings=uid\:item_reference
sq.setParameter.timeout=0 sq.setParameter.use_logic_hit_metas=false maxPerLot=10000
storageSchemas=url\:STRING,shsignature\:STRING,cluster_id\:INTEGER,center_distance\:REAL,uid\:STRING,file_path\:STRING,source\:STRING,part_number\:STRING,inertiabb_height\:REAL,inertiabb_length\:REAL,inertiabb_width\:REAL,part_key\:STRING,volume\:REAL,density\:REAL,mass\:REAL,bb_diagonal\:REAL
sq.addParameter.add_hit_meta=url,dynamic_field\:3d_shape_signatures\#\#name\:shsignature,document_item_reference,document_file_path,2d3d_part_number,3d_shape_inertiabb_height,3d_shape_inertiabb_length,3d_shape_inertiabb_width,document_part_key,3d_shape_volume,3d_shape_density,3d_shape_mass,3d_shape_bb_diagonal
searchAPIVersion=V6R2014X storageTableName=op_parts
-
Go back to
datadir\studio\templates\Categorization and
Deduplication\ .
-
Edit custom.properties as follows:
-
In
partAdditionnalFields , add the name of the metas you entered
previously separated by a backslash and a colon
(my_db_meta_name\:TYPE ).
-
In
exportAdditionalFields , add again the name of the metas you
entered previously separated by a backslash and a colon
(my_db_meta_name\:TYPE ).
In our example: clusterAdditionalFields=ispublished\:INTEGER
universeType=Categorization and Deduplication
partAdditionalFields=original_cluster_id\:INTEGER,prediction\:STRING,part_key\:STRING,volume\:REAL,density\:REAL,mass\:REAL,bb_diagonal\:REAL
clusterOntologyFields=family\:STRING
exportAdditionalFields=part_key\:part_key,volume\:volume,density\:density,mass\:mass,bb_diagonal\:bb_diagonal
searchServerUrl=http\://localhost\:10310/search-api/search
Test Your Configuration
You can now test your OnePart configuration. For more details on universe creation in OnePart, see Installation and Setup | Configure | Information Intelligence | OnePart |
OnePart Reduce | Using OnePart Reduce | Use case - Standardization.
-
Create the universe that you will use for Procurement Intelligence and name it procurement.
-
On your cluster page, click Force Publish All.

-
Check that the attribute reducegrouping_procurement is
displayed in OnePart. You can also search for
reducegrouping:reducegrouping_procurement
in the Search bar.

-
Go to
datadir/studio/universes/procurement/publish .
-
Open any .publish file and verify that
cluster_id and
part_key are displayed.
In our example:
{"cluster_id":"12","parts":[{"volume":"0.011844","density":"7.85","mass":"92.975113","id":"OU600590531.SLDPRT","part_key":"N031025941","bb_diagonal":"2.10580205","status":0},{"volume":"0.01154","density":"7.8499","mass":"90.587834","id":"OU600590478.SLDPRT","part_key":"N031025933","bb_diagonal":"2.10580205","status":0},{"volume":"0.011844","density":"7.85","mass":"92.975113","id":"OU600645183.SLDPRT","part_key":"N031039169","bb_diagonal":"2.10580205","status":0},{"volume":"0.012532","density":"7.85","mass":"98.375913","id":"OU600984318.SLDPRT","part_key":"N031103114","bb_diagonal":"2.12309624","status":0},{"volume":"0.012228","density":"7.8499","mass":"95.98868","id":"OU600984319.SLDPRT","part_key":"N031103178","bb_diagonal":"2.12309624","status":0}],"category":"FAKE","universe_name":"procurement","universe_type":"Categorization
and Deduplication"}
|