# Let's Integrate

{% hint style="info" %}
Let's start the integration process. :smiley:&#x20;
{% endhint %}

![ ](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1UUAX_U2z9gK_XE2_k%2F-M1UUJYcA1lFUvlcpuWg%2Fvector-customers%20-%20Copy.png?alt=media\&token=99186a80-4408-4962-8897-1163cf79605d)

![ ](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1dS4Vm5FNO-FcsE3HV%2F-M1dTGjgn-WN02TM1FRb%2Ffinal%20bar.png?alt=media\&token=084a75a2-bac4-4778-ac80-fe1ff10d117e)

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1eYrjxESTi35ya-b4r%2F-M1eZ_Ha9L4t_ybAWHwR%2Finvertedclean.png?alt=media\&token=13d90181-8121-4033-806f-0c107ebabbc2)

## **Use Case**

#### The use case involves integration between Oracle Primavera contract management through Nexus into Oracle Unifier .

|      Source System      | Target System |
| :---------------------: | ------------- |
| **Contract Management** | **Unifier**   |

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1VTINBQ_Pf_M7sovYl%2F-M1Z-2M3EW_nWItB3Wd3%2Fcloud-3311588.png?alt=media\&token=530d6fa9-fc1a-44de-a330-bba3f9999f07)

#### Nexus offers a very trivial procedure of creating integration. It is mostly of the six processes , as depicted in the below diagram.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1_oFWPRrqNopoD64_8%2F-M1dMDSn9kKDlQ0ad_Lo%2Fcomponent.PNG?alt=media\&token=283c2564-63a0-47bc-87cb-c8c0addbc37a)

![ ](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1eZlHx9oC5PGmGS925%2F-M1ipglDlf2F5-lmGS5q%2FBlue%20and%20Yellow%20School%20Site%20Map%20Chart.png?alt=media\&token=9e5791cf-8802-419f-b2ed-90c47002c683)

## Connectors <img src="https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1Ujvi-lq7dEamqWYQN%2F-M1Uv58FM_SYFCc_ldLq%2Fconnector.jpg?alt=media&#x26;token=33b87b14-18d4-49b2-920d-552e8ed2ae83" alt="" data-size="line">&#x20;

As per the use case, the first step requires you to create two connectors.

| Connector |           For           |
| :-------: | :---------------------: |
|  **1️⃣**  |       **Unifier**       |
|    2️⃣    | **Contract Management** |

{% hint style="info" %}
Sequence of creating the connectors does not effect the flow process
{% endhint %}

{% tabs %}
{% tab title="Unifier" %}

#### Steps:

* [x] &#x20;1\. Give name to the connector which will also be used to  identify the system e.g. Unifier, P6 etc <br>
* [x] &#x20;2\. Select an extension from the drop down  as Unifier is a generic SOAP Web Services , so select the same .<br>
* [x] 3\. Click (+Add service) to add the services under this connector.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M0qAsuCsw83mae109gI%2F-M0qQza78Xw_X1KuoFF2%2FConnectors1.PNG?alt=media\&token=ebfe606a-2b79-43ab-aecb-5f6f6681d860)
{% endtab %}

{% tab title="Unifier" %}
The idea behind this operations is to get data from contract manager and then create  the contracts in Unifier and approve it.

#### For this we require three operation :

* createBPRecord , to create the contracts in Unifier.
* getBPList, to get the record number.
* updateBPRecordV2, to approve the contracts.

#### Steps

* [x] 1.Provide the title and name for the service.
* [x] 2\. Provide the  URL of Unifier Web Services and service end point for the operations declared as per the WSDL.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M0qAsuCsw83mae109gI%2F-M0qR4bMDAWxtBAkOZ8P%2FConnectors2.PNG?alt=media\&token=65bfd78a-0bb8-4a80-af52-ee72885f19da)
{% endtab %}

{% tab title="Contract Management" %}

#### Steps:

* [x] 1\. Give name to the connector which will also be used to  identify the system e.g. Unifier, P6 etc <br>
* [x] &#x20;2\. Select an extension from the drop down  as Unifier is a generic SOAP Web Services , so select the same .<br>
* [x] 3\. Click (+Add service) to add the services under this connector.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1VBz51T_iSbPtAfldG%2F-M1VFbA0jPCILXmBL3qg%2FCM.PNG?alt=media\&token=583b0953-f91a-43f1-a06d-2f2b9b80a25a)
{% endtab %}

{% tab title="Contract Management" %}

#### In the services, We are going to see read contracts.

The idea  behind the operation is to read contracts from the Contract Management .

#### Steps

* [x] 1.Provide the title and name for the service.
* [x] 2\. Provide the  URL of  CM Web Services and service end point for the operations declared as per the WSDL.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1V-k0lkstlbUkOXkep%2F-M1V-qLrpBdJZMrA7zW3%2FConnectors4.PNG?alt=media\&token=da13ee66-48d4-44bc-b8f1-de04ef925080)
{% endtab %}

{% tab title="Contract Management" %}

#### In the services, we are going to see read cost details.

The idea behind the operation is to read contracts from the Contract Management .

#### Steps

* [x] 1.Provide the title and name for the service.
* [x] 2\. Provide the  URL of CM Web Services and service end point for the operations declared as per the WSDL.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1V-k0lkstlbUkOXkep%2F-M1V-wMsTKvG2DUaug2O%2FConnectors5.PNG?alt=media\&token=ef2f10b0-692b-4872-9504-71fce82b3a85)
{% endtab %}
{% endtabs %}

## Environment <img src="https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1VLbz5rj6D5shpCO6-%2F-M1VM54LGr7L638CBsU0%2FfullList.jpg?alt=media&#x26;token=525a0cf5-ad14-45fe-8325-87d381b55039" alt="" data-size="line">&#x20;

Environment gives a full set up to connectors in terms of  Base URL, Authentication type , Username and Password.

{% tabs %}
{% tab title="Environment" %}
\*
\[x]   1. Click on a Add Environment to create a new environment.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1VMK9c6dCrpaQjGtGL%2F-M1VNb2QhFzHgvw22zp3%2FE0.PNG?alt=media\&token=6c820367-aa39-42ef-b862-7a5520623919)
{% endtab %}

{% tab title="Contract Management" %}

* [x] Provide the Base URL for the contact management and the Authentication Type along with username and password details.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1VMK9c6dCrpaQjGtGL%2F-M1VO-n1bxg4dhbjbdHw%2FE3.PNG?alt=media\&token=27dfdc77-ed19-4a9b-83e9-83a1fb2e399b)
{% endtab %}

{% tab title="Unifier" %}

* [x] Provide the Base URL for the contact management and the Authentication Type along with username and password details.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1VMK9c6dCrpaQjGtGL%2F-M1VO4a4m48nPHGju5c5%2FE2.PNG?alt=media\&token=d985731a-c798-414d-a4e9-0b5335b4dcdf)
{% endtab %}
{% endtabs %}

## Data Mapping <img src="https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1Z4HWnVs8HY5NMh1RW%2F-M1Z5JMrqCMaGg4SB6A5%2Fdownload%20(1).png?alt=media&#x26;token=c09a1d6d-629c-431f-b44d-99987d8e257d" alt="" data-size="line">&#x20;

Data mapping helps you to take source field from source system , and to map with target fields of target system  in very simple way.

You can also customize you data according to the target source field through JavaScript code which includes data validation and any change in format.

{% tabs %}
{% tab title="Data Mapping" %}
\*
\[x]   1. Click on Add data mapping to create a new mapping.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1Z6SqQPMN0Ty4L_Q0J%2F-M1Z7_DOZ49j7I7Hkaas%2FDm1.PNG?alt=media\&token=edbb2003-2644-441c-b8f7-dc927571d70f)
{% endtab %}

{% tab title="Data Mapping" %}

#### The purpose of data mapping is to map the source Contract Management's source field to Unifier target field. e.g. as below:

| Contract Management |         Unifier         |
| :-----------------: | :---------------------: |
|        Title        |          title          |
|    DocumentNumber   | uconContractnumberTXT16 |

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1Z6SqQPMN0Ty4L_Q0J%2F-M1Z7dCYLowfa-LbrLMX%2FDM2.PNG?alt=media\&token=d039f559-b553-4072-babf-878e624d374c)
{% endtab %}

{% tab title="Data mapping" %}

#### Data Mapping allows you to validate your input to the target field,.

As here Contract Management(source system) is not providing value for upoContactTypePD. In that scenario Nexus provides functionality of knitting  customized Java Script coding to get desired input in target field.

#### e.g. return 'Lump Sum' ;

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1Z8w6vadiu4rBkfkj1%2F-M1ZEjkJiW9Nmhji-tua%2FDMvalid.PNG?alt=media\&token=d7d93797-182a-45be-b31f-e472048e3e56)
{% endtab %}
{% endtabs %}

## Integration <img src="https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1Z4HWnVs8HY5NMh1RW%2F-M1Z5ks7-hKIn1ANoO6t%2Finteg.png?alt=media&#x26;token=b7fe0696-861e-45c6-9319-62fa9306a492" alt="" data-size="line">&#x20;

#### Integration has four sub process i.e. Designer, Configuration,Execution, Notification.

{% tabs %}
{% tab title="Designer" %}

#### Designer space can be distributed to different staging process , according to the use case is divided in three states. &#x20;

|               |                                                                 |
| ------------- | --------------------------------------------------------------- |
| **Load**      | to read contracts and cost details from the Contract Management |
| **Transform** | data mapping and script writing                                 |
| **Create**    | to create , read and approve contracts in Unifier system.       |

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1ZGBgUoOiy64ghcf6G%2F-M1ZIonU7qxk1UnpEzUz%2FDesigner1.PNG?alt=media\&token=01436958-adb3-4305-8868-c667c325ee29)

{% endtab %}

{% tab title="Configuration" %}

#### Configuration steps involves configuring  connectors and properties . By providing the  constant values such as shortname, authcode, BPName.

* [x] Here Contract Management and Unifier is the connectors configured.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1ZGBgUoOiy64ghcf6G%2F-M1ZIuGdJszfeo28Ro1P%2FI2.PNG?alt=media\&token=2b0ddd9d-aae1-489b-90ca-226184e3390b)

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1ZGBgUoOiy64ghcf6G%2F-M1ZJ0RxROKveFDMbTO-%2FI3.PNG?alt=media\&token=e059e74c-73d8-4333-9c34-eee2fb85e470)
{% endtab %}

{% tab title="Execution" %}

#### The execution process can be scheduled based on the CRON expression or by Rest  URL

#### CRON expression

You can choose any CRON expression of you requirement by clicking the link given in the below picture and schedule the job.

Once you enable the button it will start running based on the schedule.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1ZXsNlnbJKLF8u0OzI%2F-M1ZiOxjzImVhRWjACMZ%2Fscheduling.PNG?alt=media\&token=d8724559-082f-4e2e-9c62-9b830ca43d48)

#### REST URL

This is the second way of scheduling the integration based on the Rest endpoint. Once you enable the button it will start running based on the schedule.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1ZXsNlnbJKLF8u0OzI%2F-M1ZiVCXyzwAtmzbkuRK%2Fs2.PNG?alt=media\&token=294f61ab-76ca-4b7a-a4d7-50d054835429)
{% endtab %}

{% tab title="Notification" %}
![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1ZGBgUoOiy64ghcf6G%2F-M1ZJ_ud1YZ-UM5kWnds%2FI6.PNG?alt=media\&token=86518e75-f925-4cf6-90bb-72150f70458c)
{% endtab %}
{% endtabs %}

## Deployment <img src="https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1Z4HWnVs8HY5NMh1RW%2F-M1Z5xv359_oL8nIwf0g%2Fstart-up.png?alt=media&#x26;token=a80bed46-c1c8-404f-9d1d-9aacf5ce0dc9" alt="" data-size="line">&#x20;

{% tabs %}
{% tab title="Deploy" %}

#### By clicking the Deploy button you can deploy your integration.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1_BZraSwI3LFj-w3yf%2F-M1_Cc0Wcyacyqy3-IpM%2Fdeploy1.PNG?alt=media\&token=f9c36417-e671-4bfc-ac29-c2e5b01370db)
{% endtab %}

{% tab title="Run Deploy" %}

#### Click Run now button to run your integration on demand.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1_BZraSwI3LFj-w3yf%2F-M1_BupVWOkJnTwngV4x%2Fdeploy.PNG?alt=media\&token=a5af34da-8ab8-44fc-a175-b5a99c342c40)
{% endtab %}
{% endtabs %}

## Monitoring <img src="https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1Z4HWnVs8HY5NMh1RW%2F-M1Z66qEnP4P0fWfPp_O%2Fmonitoring.jpg?alt=media&#x26;token=b55a4e10-90f3-4ffe-b6e0-af9223a6ccbe" alt="" data-size="line">&#x20;

{% tabs %}
{% tab title="Monitoring" %}
As you run the deployment in  the previous step, the detailed stature of the process can be seen by clicking the monitoring menu card which is populated with no of running integration.No of completed/Failed.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1eZlHx9oC5PGmGS925%2F-M1i8TcRlu-egqDgJ3x_%2FM1.PNG?alt=media\&token=949e5453-678d-455e-9bec-70c3a3e4121f)
{% endtab %}

{% tab title="Monitoring" %}

#### Once you click on card you will be able to see the details as such Job Id , start time, end time , time elapsed and status of integration.&#x20;

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1eZlHx9oC5PGmGS925%2F-M1iAOebB57Xq1-yGbEu%2Fm2.PNG?alt=media\&token=02c72a81-b99c-43ae-a3b4-b79a00f7189f)

#### Once you click on any particular job Id, it expands into various staging level details.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1eZlHx9oC5PGmGS925%2F-M1iATJGGOPGLFc9Py4S%2FM3.PNG?alt=media\&token=b8387ca0-3e6a-4f4a-a105-09568292ed2b)

#### On further expanding you can see each service levels detail of every integration.

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1eZlHx9oC5PGmGS925%2F-M1iA_zQ2Qnr_sHvzlxG%2FM4.PNG?alt=media\&token=b125cf1a-921e-4acb-a23f-2e3707d11a02)
{% endtab %}
{% endtabs %}

![](https://2300914126-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-hiUFkMG0EWvWLHvJ9%2F-M1dMPMthP2WijUgYgov%2F-M1dQ_WPbA8e23DbUGIW%2F2.png?alt=media\&token=f268673b-7b3a-4c68-a069-d3d0bb3b1427)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexus-platform.com/integration/lets-integrate.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
