# Transformation

## Overall

To elucidate this concept further, consider the following example:

The `https://api.cdq.com/sap-odm/v2/referencedata/rest/v3/businesspartners/lookup` endpoint URL corresponds to the underlying endpoint `referencedata/rest/v3/businesspartners/lookup`.

In essence, the SAP ODM API operates as a transformation "proxy" for this underlying API. It does not inject additional business content but serves as an intermediary layer, ensuring that the data exchanged aligns with the SAP ODM standard.

## Known issues

### AR.NRC Data Source (Registro Nacional de Sociedades).

The CDQ services cannot transform the Argentinian postal codes to the SAP ODM format. The provided postal code contains a 4-digit number, while the SAP ODM requires an 8-digit number.

Due to this limitation, the Business Partner cannot be saved to SAP services without manual addition of 4 missing digits.

## Model transformation

The SAP ODM endpoint's primary objective is to offer a seamless integration of CDQ Data Model into the SAP One Domain Model, ensuring that the information is readily accessible and compatible with SAP systems.

| CDQ Data Model | SAP One Domain Model |
|  --- | --- |
| name | formattedOrgName |
| identifiers | taxNumbers/identifications with their types |
| legal form category | legal form |


## Warm up

To check possible requests and response select one of the following options:

* `Request for CDQ Data Model`
* `Request for SAP One Domain Model`
* `Response`


**Examples**:


```json
{"businessPartner": {
   "names": [{
           "value": "SAP"
       }],
   "addresses": [{
           "country": {
               "shortName": "DE"
           }
   }]
}}
```


```json
{"businessPartner": {
    "jsonRecord": {
        "organization": {
            "nameDetails": {
                "formattedOrgName": "SAP"
            }
        },
        "addressData": [{
                "organizationPostalAddress": {
                    "country": {
                        "code": "DE"
                    }
                }
            }]
    }
}}
```


```json
{
    "cdqId": "DE.RC:B1601_HRB719915",
    "dataSource":{
        "aleiPrefix": "DE.RC",
        "name": "Common register portal of the German federal states" 
        },
    "storageDataSource": { },
    "matchingProfile":{
      "matchingScores": {
        "overall":{
          "classification":{},
          "value": 0.95,
          "explanation": "BP: [overall: [NAME: 0.95; overall: 0.95;]] A: [overall: [COUNTRY_SHORTNAME: 0.5; overall: 0.5;]]"
          },
        "businessPartner": {},
        "address": {}
      }
    },
    "businessPartner":{
      "names":  [],
      "legalForm":  {},
      "identifiers":  [],
      "status":   {},
      "addresses":  [],
      "externalId": "B1601_HRB719915",
      "jsonRecord": {
        "organization": {
          "nameDetails":  {
            "scriptVariants":[],
            "formattedOrgName": "SAP SE",
            "formattedOrgNameLine1": "SAP SE"
            },
          "legalForm":{}
          },
        "displayId": "B1601_HRB719915",
        "addressData": [],
        "identifications": [],
        "businessPartnerType": "organization"
        }
    }

}
```

Commented out