The previous blog post in this series gave an overview of setting up AX 2012 to enable the Import vendor catalogs functionality. Now it’s time to see how to produce a sample CMR (catalog maintenance request) file and import it into AX using both AX Windows client and the Vendor self-service portal in Enterprise portal.
First of all a vendor catalog needs to be created.
You can enable/disable the catalog for auto approval by clicking the corresponding button in the action pane. This flag can be used to setup workflow automatic actions.
CMR file is an XML file which contains the information about the products which are available for purchase from the vendor. You can use the CMR file to create a new catalog, replace an existing catalog, or modify an existing catalog. In order to create a sample CMR file you need to generate a catalog import file template first.
The catalog import file template is an industry-standard XSD file that you use to create a CMR file for vendor’s products. In order to create the XSD file you need to:
One thing to note about the catalog import template XSD file is that for each procurement category where the vendor is approved there will be a separate product definition with a separate set of attributes so it is important to use the current version of the XSD file for producing the sample CMR file. In order to create a sample CMR file you can:
A sample CMR file will typically look like the one below:
1: <?xml version="1.0" encoding="utf-8"?>
2: <VendorCatalog VendorName="CatImp2" LoadDate="2012-01-01T01:01:01+01:00" ProductClassification="Procurement Category" xmlns="http://dax.com/vendorcatalog">
3: <Product xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:type='Accessories' Delete='No' ProductCode='ImpCatVend2_1' ProductSearchName='ImpCatVends2_1'>
4: <PriceInformation>
5: <Price Currency='USD' UnitOfMeasure='Pcs' Value='5000'></Price>
6: </PriceInformation>
7: <ProductNameAndDescription>
8: <NameAndDescription>
9: <Description>ImpCatVends2_1</Description>
10: <Name>ImpCatVends2_1</Name>
11: <Language>en</Language>
12: </NameAndDescription>
13: </ProductNameAndDescription>
14: <ProductAttributes></ProductAttributes>
15: </Product>
16: </VendorCatalog>
Having generated the sample CMR file you can proceed with the import.
2: <Batch>
3: <Envelope xmlns="http://schemas.microsoft.com/dynamics/2011/01/documents/Message">
4: <Header>
5: <Action>http://schemas.microsoft.com/dynamics/2008/01/services/CatImpService/create</Action>
6: </Header>
7: <Body>
8: <MessageParts>
9: <VendorCatalog>
10: ...
11: </VendorCatalog>
12: </MessageParts>
13: </Body>
14: </Envelope>
15: </Batch>
After the WSDL message has been placed in the catalog import pickup folder the catalog import service needs to be called. The service will copy the data from the CMR file to the vendor catalog staging tables.
In this example we will assume that the workflow has been set up for manual approval, i.e. there are no automated actions setup in the Catalog import product approval workflow.
Some of the actions described above can also be performed using the Enterprise Portal (EP). In order to run this scenario it is required to associate the user with a vendor.
First of all you need to associate an AX user with the vendor account. Large companies will probably take advantage of more complicated workflows available in AX to perform this operation (see the Vendor Management and Collaboration in Microsoft Dynamics AX 2012 training materials for more details). Smaller companies can utilize the simplified process described below.
After setting up the user-vendor association you can proceed with opening the Vendor portal and uploading the CMR file.
Now you can navigate to Vendor portal > Catalogs and upload the CMR file. I will not go into more details since the vendor catalogs form in the enterprise portal is similar to the vendor catalogs form in AX Windows client.