> For the complete documentation index, see [llms.txt](https://docs.theconfigteam.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.theconfigteam.com/prebilt-ewm/installation/neptune-installation/backend-installation.md).

# Backend installation

{% hint style="info" %}
**Prerequisite**

This section assumes a certain familiarity with ABAP Development.
{% endhint %}

## Activate flow BAdIs

{% hint style="info" %}
**Note**\
Any pre-existing customer implementation should be moved in to a new BAdI implementation for BAdI `/TCTM/EX_EWM_RF_FLOW_POST` (same interface as the SAP standard one, so existing customer class can be reused).
{% endhint %}

Create BAdI implementation for `/SCWM/EX_RF_FLOW_POST` and `/SCWM/EX_RF_FLOW_PRE` with class `/TCTM/EWM_FLOW_BADIS`.

In transaction SE80, create an implementation under the agreed package name.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-5b87f0debded766f58fb8b31fd8dff11f2413bad%2Factivate_flow_badi_01.png?alt=media" alt=""><figcaption></figcaption></figure>

Populate the agreed fields and click 'Continue'.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-4f6028bcddbc4eafdd33c338c85916c98ecf1ab2%2Factivate_flow_badi_02.png?alt=media" alt=""><figcaption></figcaption></figure>

Assign the implementation to a transport.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-08f38988d03cd0fd3d83c783cd0808032a72dc28%2Factivate_flow_badi_03.png?alt=media" alt=""><figcaption></figcaption></figure>

## Activate the implementation

In transaction *SE18*, enter the BAdI name <kbd>/SCWM/EX\_RF\_FLOW\_POST</kbd> and click 'Display'.

In the <kbd>/SCWM/EX\_RF\_FLOW\_POST</kbd> BAdI definition, right click 'Implementations' -> 'Create BAdI Implementation'.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-6987c188577f97bc69513aef9b9621d2b2616f48%2Factivate_the_implementation_01.png?alt=media" alt=""><figcaption></figcaption></figure>

Enter the Enhancement Implementation <kbd>ZTCTM\_EWM\_FLOW\_BAdI\_IMPL</kbd> and the Short Text <kbd>TCT PreBilt Post Flow BAdI Implementation</kbd> and click the green tick.

On the next screen, enter the package <kbd>ZTCTM\_EWM</kbd> and click 'Save'.

Save the implementation to a transport and enter the following details to create another BAdI implementation:

* BAdI implementation: <kbd>ZTCTM\_FLOW\_BAdI\_POST</kbd>
* Description: <kbd>PreBilt Post Flow BAdI Implementation</kbd>
* Implementing class: <kbd>/TCTM/EWM\_FLOW\_BADIS</kbd>

Press the green tick and click on the 'Initialize Entries' wand icon.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-4c08cb0a4c3c00984e09c4ab7a25ec9d8d2c54f9%2Factivate_the_implementation_02.png?alt=media" alt=""><figcaption></figcaption></figure>

The BAdI is now activated. Click the 'Back' button to return to the Enhancement Spot screen.

In the <kbd>/SCWM/EX\_RF\_FLOW\_PRE</kbd> BAdI definition, right click 'Implementations' -> 'Create BAdI Implementation'.

Select the enhancement implementation and click the green tick.

Enter the following details to create another BAdI implementation:

* BAdI implementation: <kbd>ZTCTM\_FLOW\_BAdI\_PRE</kbd>
* Description: <kbd>PreBilt Pre Flow BAdI Implementation</kbd>
* Implementing class: <kbd>/TCTM/EWM\_FLOW\_BADIS</kbd>

Press the green tick and click on the 'Initialize Entries' wand icon.

The BAdI is now activated.

## Activate the RFUI BAdI

In transaction *SE18*, enter the BAdI name <kbd>/TCTC/EX\_EWM\_RFUI\_GET\_MANAGER</kbd> and click 'Display'.

In the <kbd>/TCTC/EX\_EWM\_RFUI\_GET\_MANAGER</kbd> BAdI definition, right click 'Implementations' -> 'Create BAdI Implementation'.

Enter the following details to create another BAdI implementation:

* BAdI implementation: <kbd>ZTCTM\_BAdI\_RFUI</kbd>
* Description: <kbd>PreBilt RFUI Manager BAdI Implementation</kbd>
* Implementing class: blank

Press the green tick and save the object to package <kbd>ZTCTM\_EWM</kbd>.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-382c80f0351dc3de2cdb7b44501c273659396f94%2Factivate_rfui_badi_01.png?alt=media" alt=""><figcaption></figcaption></figure>

Save to the transport and click the green tick.

On the next screen, enter the following details to create another BAdI implementation:

* BAdI implementation: <kbd>ZTCTM\_BAdI\_RFUI</kbd>
* Description: <kbd>PreBilt RFUI Manager BAdI Implementation</kbd>
* Implementing class: <kbd>/TCTM/EWM\_MANAGER</kbd>

Press the green tick and click on the 'Initialize Entries' wand icon.

The BAdI is now activated.

## Create the ITS service

In transaction *SE80*, under the created package, create service ZTCTM\_EWM. Right click on the object and select 'Create' -> 'Other (1)' -> Internet Service.

In the pop-up screen, enter the details:

* Internet Service: <kbd>ZTCTM\_EWM</kbd>
* Transaction Code: <kbd>/SCWM/RFUI</kbd>

Save the package and the transport.

Enter the description <kbd>TCT Mobility ITS Mobile Intergration</kbd> in the short text field and click 'Save'.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-17506065b7e465760a78d7453d98074b68543075%2Fcreate_its_service_01.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note**

If your naming conventions require a different name, ensure the ICF node in /tctm\_ewm/its is copied and adjusted to the correct name.

In this case, also change *deploy.conf* for the front-end to point to the copied ICF node (see section *Frontend Deployment*).

<img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-2f3aac96c5b554035d01fe0c5c0a2ab8601e68cc%2Fcreate_its_service_02.png?alt=media" alt="" data-size="original">
{% endhint %}

## Publish the service

Expand the ITS Service Node, right-click on the ZTCTM\_EWM Folder and click 'Publish' -> 'Complete Service' to publish the service.

## Activate SICF nodes

In transaction *SICF*, search for all TCTM nodes.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-3d233853f8ebe4924ef8320aea8992bd1da69cc7%2Factivate_SICF_nodes_01.png?alt=media" alt=""><figcaption></figcaption></figure>

Activate all them (including sub-nodes) by right clicking the service and clicking 'Activate Service'. When prompted to confirm, use the 'Yes including subnodes' button.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-3ee61b191334d69c60efbb35e3519709f4fca091%2Factivate_SICF_nodes_02.png?alt=media" alt=""><figcaption></figcaption></figure>

## Create the EWM RF application parameter

In transaction *SPRO* under the EWM customizing node `SCM Extended Warehouse Management > Extended Warehouse Management > Mobile Data Entry > Radio Frequency (RF) Framework > Define Steps in Logical Transactions` , click 'New Entries' in the Define Application Parameters structure.

Create a new RF Application Parameter:

* Appl. Parameter Name: <kbd>TCTM\_UI\_DATA</kbd>
* Parameter Type: <kbd>/TCTM/EWM\_S\_RF\_UI\_DATA</kbd>

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-6886d24794b97451baa943b975c2a3a56e0b57b5%2Fcreate_rf-application_parameter_01.png?alt=media" alt=""><figcaption></figcaption></figure>

Click 'Save'.

{% hint style="info" %}
**Note**

If you receive a namespace error, press Enter.
{% endhint %}

Assign the new entry to a transport.

## Copy TCTM function group to the agreed namespace

In transaction *SE80*, expand the root to Function Groups, right click and copy <kbd>/TCTM/EWM\_UI\_TEMPL</kbd>. Enter the new function group name. For example:

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-a324970ba986d25b6ed077689168ccfb8fd83796%2Ftctm_function_group_01.png?alt=media" alt=""><figcaption></figcaption></figure>

Assign to the `ztctm_ewm` package, and then assign to a transport.

On the next pop-up, click the green tick to copy the function module.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-d2010174a83f0a5e470da96f5f93c82f29d238cc%2Ftctm_function_group_02.png?alt=media" alt=""><figcaption></figcaption></figure>

Enter the new function group name and click 'Copy'.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-6a46ab2649f96f544a336f58fa44d2b31a430e55%2Ftctm_function_group_03.png?alt=media" alt=""><figcaption></figcaption></figure>

Search for the new package, right click on the new function group and click 'Activate'.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-ef4d5f37d8ecda51810e3eda72d69d38d6c2e19c%2Ftctm_function_group_04.png?alt=media" alt=""><figcaption></figcaption></figure>

Click the green tick on the pop-up.

You should see a green success message that the object has been activated.

## Create a display profile

To use PreBilt for EWM and customise screen appearances, you first need to create a new Display Profile in the standard RF framework. It's recommended to have separate Display Profiles for devices with differing screen sizes or layouts (e.g., handheld, vehicle-mounted, tablet) to allow when configuring the appearance of screens using the PreBilt customising toolkit.

Create one display profile per device type which will use PreBilt for EWM.

In transaction *SPRO* under the EWM customizing node `Mobile Data Entry > Radio Frequency (RF) Framework > RF Screen Manager`:

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-72b00cdc05bbe70ef9f09f80e6f4c44e738dcb06%2Fgenerate_display_profile_02.png?alt=media" alt=""><figcaption></figcaption></figure>

Copy the standard \*\* display profile.

Assign to a transport and click the green tick.

{% hint style="danger" %}
**IMPORTANT**

The next step is critical, and details should be completed exactly as provided.
{% endhint %}

{% hint style="info" %}
**Note**\
Use the Display Profile name and function group as obtained when working through this guide.
{% endhint %}

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-3e09e8f74197cca192d4428782fd8890d21b7c35%2Fgenerate_display_profile_03.png?alt=media" alt=""><figcaption></figcaption></figure>

When prompted by the Screen Manager, click 'Yes'.

## Generate ITS templates

{% hint style="info" %}
Note

In the below section, you will need to adjust the service names given in the instructions and screenshots if it has been changed, and use the display profile name created above.
{% endhint %}

In transaction /TCTM/EWMITSTEMPGEN, enter:

* Service: ZTCTM\_EWM
* IAC theme: 99
* Display profile: Z1
* Generating Style: /TCTM/EWM TCT Mobility Templates for EWM
* Publish?: Checked
* Update Fields: Checked **on the first run ONLY**. After that, unchecked.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-0f921fd3acb7ca268bac2d1109e64f8d05e0eff2%2Fgenerate_ITS_templates_01.png?alt=media" alt=""><figcaption></figcaption></figure>

From the next screen, select all the screens displayed and click 'Create Templates'.

Add the package name <kbd>ZTCTM\_EWM</kbd> when prompted and click the green tick, before assigning to a transport.

The templates should have been activated as indicated by a green status light.

<figure><img src="https://1016750988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7lFTpSLijn44pippdL6u%2Fuploads%2Fgit-blob-39724d070fa77a9056427e33b89017091399f152%2Fgenerate_ITS_templates_02.png?alt=media" alt=""><figcaption></figcaption></figure>
