cancel
Showing results for 
Search instead for 
Did you mean: 

Enrichment Configuration file

Former Member
0 Kudos

Hi All,

I made the changes in the configuration file by adding the server name,workflow name,trigger step etc..

But current situation is the records whatever i assigned to the workflow is not syndicated.( i.e i can not see the record file in the distribution folder that i mentioned in the Enrichment Controller configuration file).

Enricment configuration file is in " D" drive.

My syndication server " Distribution " folder is in "F" drive.

What may be the problem.

regards,

Vijay

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi all,

The prom is solved i made changes in the configuration file.

regards

Former Member
0 Kudos

Hi Vijay,

First try to execute the Workflow manually from Data manager and check whether the records are getting syndicated by refering the Ready folder of the port.

Check whether the Syndication Server is ON

Regards,

Jitesh Talreja

Former Member
0 Kudos

Hi Talreja,

Thanks for reply.

I assigned records to the workflow.

And the workflow is triggered and i can view the records using the Admin username.

But there is no records in the "ready" folder.

I gave same name (e.g "vijayport) for the inbound and outbound port code.

MDSS & MDIS are started.

What may be the problem for not syndicatiing the records?

Regards,

Vijay

Former Member
0 Kudos

HI Vijay,

I gave same name (e.g "vijayport) for the inbound and outbound port code.

A port can be either Inbound or Outbound. Hence you will have to create 2 different ports. 1 for Inbound and 1 for Outbound.

Mention the Outbound port with Processing type as Manual and mention it in the Syndicate step.

Hope it helps.

Thanks and Regards

Nitin Jain

Former Member
0 Kudos

Hi Vijay,

If your Admin user has password then you need to specify the same in MDSS.ini file under your repository entry to the entry PasswordE. Just remove the E and assign the passowrd like Password = "Pass1234" and restart the Syndication server. Again check the entry it should be converted to PasswordE and some encoded value.

Regards,

Jitesh Talreja

Former Member
0 Kudos

Hi ,

I dont have password for Admin.

If i set the processing type as "manual" then how the records will be syndicated automatically?

Please clarify it?

I mentioned one inbound port name "X" with portcode "vijayport",

then i created another outbound port name "Y" with portcode "vijayport".

Is it right?

Regards,

Vijay

Former Member
0 Kudos

Hi Vijay,

Please give a different code for the Outbound port.

The problem might be due to the clash in the Code used for both the ports.

Hope it helps.

Thanks and Regards

Nitin Jain

Former Member
0 Kudos

Hi Nitin,

If i give different code then how can i mention inbound portcode in the configuration file?

In configuration file we can give only one code.see the sample code:

- <EnrichmentServicePort code="vijayport">

- <!-- code - code of the outbound port as given in MDM Console

-->

So how can i mention the Inbound code and how the records will be imported automatically after enrichment.

Regards,

Vijay

Former Member
0 Kudos

Hi Vijay,

I am not sure in this respect of Enrichment file.

In normal process, we keep the codes different so as to avoid the port clashes.

Let somebody else come up with a suggestion.

Hope it helps.

Thanks and Regards

Nitin Jain

Former Member
0 Kudos

Hi Jitesh,

Do you have any idea regarding this?

Regards,

Vijay

Former Member
0 Kudos

Hi Vijay,

As far as Enrichment goes you are correct that we have to assign the same port code for Inbound and Outbound and Nitin since MDM allows the same port code for Inbound and Outbound so there wont be any clash.

Vijay you need to assign the Outbound port to the Syndicate step of workflow and only ports for which processing type is set to Manual will be available because if you keep the Processing Type=Automatic then Syndication Server will not wait for Workflow to trigger the syndication but it will start syndicating records depending on the Interval specified hence no workflow comes into the picture.

When Syndicate step is used in workflow then Workflow Engine triggers the Syndication Server that the records present in the workflow needs to be syndicated and Syndication Server syndicates those records.

Hope you get the clear idea

Regards,

Jitesh Talreja

Former Member
0 Kudos

Hi Talreja,

Still in confusion.

See my workflow :

Start->Process->wait---->Stop.

Are you asking me to insert a syndication step inside this workflow ?

But i think Syndication will happen automatically by Enrichment Controller. am i right?

Correct me

Regards,

Vijay

Former Member
0 Kudos

Hi Talreja,

Here i am reffering a thread in the same forum answered by you regarding the Enrichment controller.

Like the same i did by your advice but still i am confusing with the workflow steps.

Please tell me for enrichment controller what are the steps we have to use.

E.g

start->process->wait--->stop.

or

start->process->syndicate->wait->stop.

Please focus on my problem.

regards,

Vijay

Former Member
0 Kudos

Hi Vijay,

There is no Wait step in the Workflow Stencil. Instead of wait step you need to use Syndicate step and assign the vijayport port code. Enrichment controller picks the file from the folder specified but its the Syndication server that actually sends data to the folder.

Start -> Process -> Syndicate -> Stop

Regards,

Jitesh Talreja

Former Member
0 Kudos

Hi Talreja,

I have pasted your configuration file code here:

<?xml version="1.0" encoding="UTF-8"?>

<!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Nimrod Vishnia-Shabtai (SAP Labs Israel Ltd.) -->

<MDM_EnrichmentControllerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MDM_EnrichmentControllerConfiguration.xsd">

<!-- +++++++++++++++++++++++++++++++ -->

<!-- global section -->

<!-- overall framework configuration -->

<!-- +++++++++++++++++++++++++++++++ -->

<ConfigurationFile refreshInterval_min="5"/>

<!-- refreshInterval_min - controls how often the configuration file is re-read in order to change parameters dynamically -->

<!-- +++++++++++++++++++++++++++++++ -->

<!-- Repository section -->

<!-- repeat once for each repository -->

<!-- +++++++++++++++++++++++++++++++ -->

<MDM_Server name="DTPXP-VIRSHAH" password="" distributionPath="C:\Program Files\SAP MDM 5.5\Server\Distributions">

<!-- Name - enter here the host name of the MDM Server -->

<!-- Password - (optional) enter here the MDM Server password, only if configured through the MDM Console -->

<!-- MDS DistributionPath - Import Server Distributions folder path (e.g. C:\Program Files\SAP MDM 5.5\Server\Distributions)-->

<MDSS serverName="DTPXP-VIRSHAH"/>

<!-- serverName - enter here the host name of the MDSS Server -->

<MDIS serverName="DTPXP-VIRSHAH"/>

<!-- serverName - enter here the host name of the MDIS Server -->

<MDM_Repository name="TEST_REP" reconnectInterval_min="1">

<!-- name - MDM Repository name as display in MDM Console -->

<!-- reconnectInterval_min - Time DQS controler waits until next reconnect try if connection is broken -->

<ConnectionDetails user="Enrich" password="kakoliserane" port="2354" language="English US"/>

<!-- user - the name of the user created for the DQS Framework-->

<!-- password - enter here the user password-->

<!-- port - enter here the MDM repositry port (see MDM Console)-->

<!-- language - enter here the data language (e.g. English US)-->

<Polling interval_mis="1000" active="true"/>

<!-- interval_mis - interval in milliseconds between poll cycles -->

<!-- active - switch (true/false) e.g. to temporarily disable the procesing -->

<!-- +++++++++++++++++++++++++++++++++++++ -->

<!-- provider section -->

<!-- repeat once for each service provider -->

<!-- +++++++++++++++++++++++++++++++++++++ -->

<EnrichmentProviderSystem code="GeoNames">

<!-- code - client system code as given in MDM Console -->

<!-- ++++++++++++++++++++++++++++ -->

<!-- service section -->

<!-- repeat once for each service -->

<!-- ++++++++++++++++++++++++++++ -->

<EnrichmentServicePort code="GeoNames_Location">

<!-- code - code of the outbound port as given in MDM Console -->

<Trigger>

<!-- ++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- Workflow section -->

<!-- repeat once for each workflow that contains a -->

<!-- trigger step to invoke this service -->

<!-- ++++++++++++++++++++++++++++++++++++++++++++++ -->

<Workflow name="Data_Enrichment">

<!-- name - Name of the worflow -->

<Step name="Obtain_Geo_Data"/>

<!-- name - Name of the trigger step -->

</Workflow>

</Trigger>

<MDSS timeOut_sec="30"/>

<!-- timeOut_sec - timeout in seconds until the DQS Framework stops the processing -->

<!-- (if MDM Syndication Server does not produce the requested output)-->

<EnrichmentAdapter vendorName="sap.com" applicationName="GeoNamesAdapter" ejbName="GeoNamesAdapterBean" timeOut_sec="60"/>

<!-- vendorName - vendor name of deployed application containing adapter EJB -->

<!-- applicationName - name of deployed application containing adapter EJB -->

<!-- ejbName - EJB name of the adapter -->

<!-- timeOut_sec - timout in seconds until the called adapter method needs to return -->

<MDIS timeOut_sec="30"/>

<!-- timeOut_sec - timout in seconds until the DQS Framework stops the processing -->

<!-- (if MDM Import Server does not pick-up the delivered input files)-->

</EnrichmentServicePort>

</EnrichmentProviderSystem>

</MDM_Repository>

</MDM_Server>

</MDM_EnrichmentControllerConfiguration>

NOW MY QUESTION IS FOR THIS CONFIGURATION SET UP YOU HAVE USED "Data_Enrichment" WORKFLOW.

CAN YOU PLEASE TELL ME WHAT IS THE STRUCURE OF THIS WORKFLOW.

Thii will clear my all doubts

Regards,

Vijay

Former Member
0 Kudos

Hi,

Firstly , there is no syndicate step in workflow for Enrichment Architecture. The use of workflow here is to trigger and control the activities of the Enrichment Controller. Further, Enrichment Controller listens requests via the MDM Workflow, triggers syndication, then to Enrichment Adapter and finally import Enrich records into MDM Data Manager. So, the MDM Enrichment Architecture is controlled at runtime by the MDM Data Management workflow.

This MDM enrichment controller constantly polls MDM workflow for steps that match the configuration parameters defined in the configuration file.

The code you pasted here indicates your workflow having steps:

Start->Process you can give a name to this Process as per your Code it should be Obtain_Geo_Data->wait(this is nothing but also a process having name Wait)---->Stop.

<?xml version="1.0" encoding="UTF-8"?>

<!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Nimrod Vishnia-Shabtai (SAP Labs Israel Ltd.) -->

<MDM_EnrichmentControllerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MDM_EnrichmentControllerConfiguration.xsd">

<!-- +++++++++++++++++++++++++++++++ -->

<!-- global section -->

<!-- overall framework configuration -->

<!-- +++++++++++++++++++++++++++++++ -->

<ConfigurationFile refreshInterval_min="5"/>

<!-- refreshInterval_min - controls how often the configuration file is re-read in order to change parameters dynamically -->

<!-- +++++++++++++++++++++++++++++++ -->

<!-- Repository section -->

<!-- repeat once for each repository -->

<!-- +++++++++++++++++++++++++++++++ -->

<MDM_Server name="DTPXP-VIRSHAH" password="" distributionPath="C:\Program Files\SAP MDM 5.5\Server\Distributions">

<!-- Name - enter here the host name of the MDM Server -->

<!-- Password - (optional) enter here the MDM Server password, only if configured through the MDM Console -->

<!-- MDS DistributionPath - Import Server Distributions folder path (e.g. C:\Program Files\SAP MDM 5.5\Server\Distributions)-->

<*MDSS serverName="DTPXP-VIRSHAH"/*>

<!-- serverName - enter here the host name of the MDSS Server -->

<*MDIS serverName="DTPXP-VIRSHAH"/*>

<!-- serverName - enter here the host name of the MDIS Server --><MDM_Repository name="TEST_REP" reconnectInterval_min="1">

<!-- name - MDM Repository name as display in MDM Console -->

<!-- reconnectInterval_min - Time DQS controler waits until next reconnect try if connection is broken -->

<ConnectionDetails user="*Enrich*" password="kakoliserane" port="*2354*" language="English US"/>

<!-- user - the name of the user created for the DQS Framework-->

<!-- password - enter here the user password-->

<!-- port - enter here the MDM repositry port (see MDM Console)-->

<!-- language - enter here the data language (e.g. English US)-->

<Polling interval_mis="1000" active="true"/>

<!-- interval_mis - interval in milliseconds between poll cycles -->

<!-- active - switch (true/false) e.g. to temporarily disable the procesing -->

<!-- +++++++++++++++++++++++++++++++++++++ -->

<!-- provider section -->

<!-- repeat once for each service provider -->

<!-- +++++++++++++++++++++++++++++++++++++ -->

<EnrichmentProviderSystem code="GeoNames">

<!-- code - client system code as given in MDM Console -->

<!-- ++++++++++++++++++++++++++++ -->

<!-- service section -->

<!-- repeat once for each service -->

<!-- ++++++++++++++++++++++++++++ -->

<EnrichmentServicePort code="GeoNames_Location">

<!-- code - code of the outbound port as given in MDM Console -->

<Trigger>

<!-- ++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- Workflow section -->

<!-- repeat once for each workflow that contains a -->

<!-- trigger step to invoke this service -->

<!-- ++++++++++++++++++++++++++++++++++++++++++++++ -->

<Workflow name="*Data_Enrichment*"> "what is your workflow name here"

<!-- name - Name of the worflow -->

<Step name="*Obtain_Geo_Data*"/>

<!-- name - Name of the trigger (Process* step)step* -->

</Workflow>

</Trigger>

<MDSS timeOut_sec="30"/>

<!-- timeOut_sec - timeout in seconds until the DQS Framework stops the processing -->

<!-- (if MDM Syndication Server does not produce the requested output)-->

<EnrichmentAdapter vendorName="sap.com" applicationName="GeoNamesAdapter" ejbName="GeoNamesAdapterBean" timeOut_sec="60"/>

<!-- vendorName - vendor name of deployed application containing adapter EJB -->

<!-- applicationName - name of deployed application containing adapter EJB -->

<!-- ejbName - EJB name of the adapter -->

<!-- timeOut_sec - timout in seconds until the called adapter method needs to return -->

<MDIS timeOut_sec="30"/>

<!-- timeOut_sec - timout in seconds until the DQS Framework stops the processing -->

<!-- (if MDM Import Server does not pick-up the delivered input files)-->

</EnrichmentServicePort>

</EnrichmentProviderSystem>

</MDM_Repository>

</MDM_Server>

</MDM_EnrichmentControllerConfiguration>

Please check all the Parameters of your Configuration file.

Your MDIS amd MDSS services shud be running.

Hope it will Help you,

Rewards if found Useful.....

Thanks,

Mandeep Saini

Former Member
0 Kudos

Hi Saini,

If i mentioned the workflow as start->process>wait>stop.

Then how the syndication will be done?

Whether i have to insert syndication step or Enrichment Controller will take care about syndication?

What would be the structure of the Workflow?

Waiting for valuable reply.

Regards,

Vijay

Former Member
0 Kudos

Hi,

Enrichment Controller will take care about syndication. Syndication is done as part of automated enrichment process, you should not do it with workflow step.

The structure of workflow should be

start->trigger>wait>stop. as these two steps of type u201CProcessu201D are mandatory for the MDM Enrichment Architecture. But you can design workflows in various ways. In addition to these mandatory trigger and wait steps, there can be any number of additional workflow steps, such as process, approve, notify and validate etc.

Thisu201Ctrigger stepu201D --->i.e. the first process step transfers control to the MDM Enrichment Architecture, which then starts syndication of the records and calls the configured enrichment adapter.

"wait Step" --> wait for the associated enrich records while the enrichment adapter processes the records as a result of interface method. According to its configuration, the EC creates a file in the appropriate folder of the inbound port and waits for the MDM Import Server to pick up the file and starts the import according to the map configured in the inbound port.

As soon as the import has finished, the EC completes the processing by forwarding the workflow into the next step here (stop)

Also, Refer Page 38 to call Enrichment Adapter

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9018dc62-23a8-2910-b7ae-9023670c...

Hope it will clear your doubts,

Thanks,

Mandeep Saini

Former Member
0 Kudos

hi Saini,

Thanks for good reply.

I created a workflow with 2 stpes.

My questions;

1. Workflow should be manual or Automatic?

2. Syndication map i have mentioned in the configuration file.That syndication should be manual or automatic?

3.how can i start the Enrichment controller?

Please give your valuable inputs.

Regards,

Vijay

Former Member
0 Kudos

Hi MDMers,

Anyone come aross with a solution , please provide your valuable inputs.

Regards,

Vijay

Former Member
0 Kudos

Hi,

Enrichment Controller activates syndication using MDM Java API, therefore, syndication step should not be included at the workflow.

The reason why syndication is not activated might be user credentials. Enrichment controller requires non-empty password. Also, as mentioned above, user + password should be entered to MDSS.INI and MDIS.INI.

It is highly recommended to use Enrichment Controller monitoring page, this will indicate of any configuration problems.

Regards

Orit