Skip to main content

C4C/CPI: Automatically adjust mapping for DEV namespace

Submitted by Stefan Barsuhn on

As C4C development systems (that are in development) use a different namespace than non-dev systems, simply copying or transporting an iflow from DEV to TEST (or PROD) will lose all extension field mappings.

You can either adjust your iflows manually. This involves uploading the test system WSDL to the iflow and re-mapping all extension fields from the DEV namespace to the test/production namespace, which is not recommended as it is very error-prone.

However, you can also do this automatically with a one-line change as follows:

  1. Download the iflow from your DEV tenant
  2. Unzip the downloaded file
  3. Adjust the namespace property in the mapping files (they are in src/main/resources/mapping)
  4. Rezip the entire structure (the first level in the ZIP file are the META-INF, src etc. folders)
  5. Upload the iflow to your TEST tenant

Adjusting the mapping

In the following, we're assuming the DEV namespace is http://0000954793-one-off.sap.com/YUWOFU8OY_ and the TEST namespace is http://0000954793-one-off.sap.com/Y2T9UWDOY_.

After opening the mapping (.mmap file) you will want to pretty print it as it is not readable. Notepad++ has built-in support for this.

DEV to TEST

When moving from DEV to TEST, download the TEST system WSDL from the TEST C4C communication arrangement and place it into folder src/main/resources/wsdl, then replace

<elem>dev_WSDL.wsdl</elem>

with

<elem>test_WSDL.wsdl</elem>

The WSDL swap may not be strictly necessary, but it removes all references to the DEV namespace in your TEST system.

Finally, find the namespace definition (towards the end). For instance:

<property name="http://0000954793-one-off.sap.com/YUWOFU8OY_">ns8</property>

and replace the name attribute of the DEV namespace with the TEST namespace:

<property name="http://0000954793-one-off.sap.com/Y2T9UWDOY_">ns8</property>

Note: the namespace alias (ns8 in this example) may be different in your system. Do not change it as it will break your mapping. Only change the name attribute! Also, do not touch the other namespace properties - they belong e.g. to the standard fields.

TEST to DEV

If you're moving from TEST to DEV, just do the above in reverse. I.e. replace:

<property name="http://0000954793-one-off.sap.com/YUWOFU8OY_">ns8</property>

with:

<property name="http://0000954793-one-off.sap.com/Y2T9UWDOY_">ns8</property>

You do not need to swap the WSDL in this case as the TEST/PROD namespace mappings are not needed in DEV.

TEST to PROD

When moving from test to production, you can simply copy the iflow as the namespace is the same, so no mapping adjustment required.

No extension fields?

If you don't use any extension fields at all, simply download and upload (or transport) the iflow from DEV to TEST. You only need to worry about the WSDL if you have fields in TEST that you don't have in DEV and wanted to include them in the mapping. However, in this case copying the iflow from DEV to TEST would overwrite any mappings you may have had in TEST. So it's best to copy the master layout to DEV first, upload the DEV WSDL to CPI/BTP, perform the mappings and then copy the iflow to TEST as described above.

Updated 2026-04-16 to simplify the migration approach.

Tags