Skip to end of metadata
Go to start of metadata


The purpose of this page is to give you a guide for an Upgrade to the Version 5.2 / 1.1 of SAP ECTR. The architecture of SAP ECTR 5.1 differs in many ways from the architecture of SAP ECTR 5.2.
Backend release name: ECTR 510 => ECTR 520  (see note 2049249) / S4ECTR 100 => S4ECTR 110 (see note 2325172).

For easy reading in this document "SAP ECTR 5.1" is used for "SAP Engineering Control Center 5.1" and for "SAP Engineering control center for sap S/4HANA 1.0". 
The name "SAP ECTR 5.2" is used for "SAP Engineering Control Center 5.2" and for "SAP Engineering control center for sap S/4HANA 1.1".  Both are based on the same code foundation.


HiDPI support

HiDPI (High Dots Per Inch) displays are screens with high resolution in a relatively small format. They are mainly found in high-end laptops and monitors. SAP ECTR 5.1 does not work well with this mode. SAP ECTR 5.2 has been rebuilt to support this high-resolution mode.

Previous structure

New structure

├── small/
├── medium/
├── large/
├── flag/
├── system/
│ └── logon.png
└── tree/

├── images/ # @2x images*
├── 16/ # 16x16 pixel icons
│ ├── tree/
│ ├── flag/
│ └── <name>/
├── 24/
├── 32/
├── 48/
└── 64/

  • Images are stored in the image folder in the format image.png and image@2x.png (double size).
  • It is possible to pack both structures into one JAR file in order for the system to be compatible with the 5.2 and 5.1 frontend.
  • The structure in the symbol config file standard-icons.txt and customer-icons.txt has been changed.
  • There is a fallback in SAP ECTR 5.2 to upscale small icons.

Options for the user

  • Information for users who demand large icons:
    • New customer-specific symbols are also required for customer-specific extensions if these are to be displayed "well" with HiDPI.
    • The mapping of the customer-icons.txt file must be modified according to the structure above.
  • Users who hardly need any changes and are satisfied with the "small" (upscaled) icons can store the "5.1er" images-sap.jar file and the "5.1er" images.jar file renamed to \customize\classes\.

Use of Java 11 as Java runtime environment (JRE)

Impact of the introduction of Java 11 on the existing installation:

  • There is no more 32-Bit support.
    • SAP ECTR 5.2 can no longer be started on computers that only support 32-bit.
  • All customer-specific classes must be checked, adapted if necessary and recompiled in any case.
  • All libraries used (such as felix) have also been upgraded to the latest released version.

Installing the latest SAP ECTR 5.2 version

The starting procedure of SAP ECTR 5.2 has been fundamentally redesigned. The following describes what has been changed / replaced and how the new technology works. The start environment of SAP ECTR 5.1 has been adopted as far as possible.

Starting procedure


Overview of all deeper changes as a result of the new Java start environment for 5.2:

  • There is no more setting possibility for PLM_DATAROOT. The directory is only used by SAP ECTR and can no longer be "manipulated". The default value for PLM_DATAROOT is %APPDATA%\SAP\PLM. The expression after APPDATA (SAP\PLM) can be customized via the option -Dsystem.start.dirappend in the jvm-config.xml file (for 5.2: SAP\ECTR, for 4.7: DSCSAG\ECTR).
  • It is not possible to change the individual directories below the Tempdir. Via the variable PLM_TEMPBASE, however, it is possible to define the main directory (in the plm_initialize.bat). The default value for PLM_TEMPBASE is "" (%TEMP%). The <DIR-APPEND> (option -Dsystem.start.dirappend in jvm-config.xml) and the <INST-ID> are always appended to PLM_TEMPBASE. The variable PLM_TEMPROOT is then always made up as follows: PLM_TEMPROOT=%PLM_TEMPBASE%\<DIR-APPEND>\<INST-ID>

Technical differences between Launcher 5.2 vs. 5.1

  • The files ectr_env.txt and ectr_setenv.bat are no longer created by SAP ECTR 5.2 to find the most recently started SAP ECTR. The alternative to the files ectr_env.txt and ectr_setenv.bat is to use the Connector. The Connector then starts the "correct" SAP ECTR.
  • Robocopy support no longer exists and the PLM_ROBOCOPY_XXX environment variables are no longer taken into account – this is therefore no longer part of SAP ECTR 5.2.
  • The following entries are NOT added to the PATH variable:
    • If the UGII_NXBIN_DIR is still needed for customer-specific purposes, it can of course be set in the plm_initialize.bat in a customer-specific way.
    • \addons\extensions\basis\sys\win\bin
  • The SAP user parameters now consistently overwrite the variables in the environment.
  • The SAP_HTTPDIR environment variable is no longer taken into account. There is no warning if it is not set.
  • The SAP_TMPDIR environment variable is no longer set. This is not a SAP ECTR variable.
  • The PLM_RECYCLEDIR (<plm_workdir>\removed) environment variable
  • is no longer set and is not emptied at startup.
  • is no longer used in SAP ECTR. The FileManagerImpl class still initializes the variable, but nobody uses it.
  • The directory for "NonMainOriginals" (PLM_ADDFILEDIR) can now be changed consistently ONLY via the PLM_ADDFILE_FORCE variable. (the PLM_ADDFILE_FORCE variable is likely to be eliminated in the future)
  • For add-ons and applications, the /basis/config/plm_initialize.bat is now executed when starting SAP ECTR, if it exists. First the add-ons are run through, then the applications.
  • The feature to jump to the Api-Log by clicking "CTRL-C" no longer exists. This is replaced later with an extra SAP ECTR log window.
  • Environment variables that are no longer set:

SAP ECTR configuration

  • The file /basis/aux-files/ectr.ini is no longer needed. The parameter tempdirident is set via the Java option -Dsystem.start.dirappend (in the new jvm-config.xml).
  • plm_setenv.bat file:
    • The PLM_STARTAPPL variable is ignored if it is set in plm_setenv.bat. The variable no longer has a function. When starting SAP ECTR, it is also possible to define which application is to be started using either the -C parameter or the environment variable PLM_D_APPLSYSTEM.
    • The variable PLM_ALLOW_UNC is no longer taken into account. All paths remain as they were defined.
    • Other configuration options that were no longer needed have been removed from the files plm_setenv.bat and plm_initialize.bat.
    • The variable PLM_PREFFILES still exists. The preference files, which are maintained using the variable, are loaded last in the order specified. In this way, the order can be manipulated by the variable. Here, nothing changed compared to 5.1.
  • plm_initialize.bat:
    • The variable PLM_NONASCII_DIRNAME is no longer taken into account. All paths remain as they were defined.
    • The variable PLM_LANGUAGE in the initialize.bat is ignored => because it is unnecessary: Before the registration, it is overwritten by PLM_LOGON_LANGUAGE. The LogonUI has a dropdown for the languages. The variable is still set in the environment by the Launcher because it is used in the preference variables:
    • Java options can no longer be defined in the plm_initialize.bat. Java Options can only be set via the new config/jvm-config.xml file, also in a customer-specific way in customize/config/jvm-config.xml. This causes the following environment variables to be ignored:
  • menu.guidef:
    • The generated macro FLYOUT_LAUNCH_APPLICATIONS no longer exists. Application macros are used instead. see macro FLY_APPLICATIONS in the file /customize/config/menu_macros.txt
  • SAP ECTR Tray:
    • Definitions are no longer made via the aux-files/ectr_tray.ini, but via OMFs. See in the file menu.guidef - Key om.popup.trayicon.
    • Role or location-dependent preference files are handled the same way as in the 5.1 Launcher.

CMD parameters

  • The following parameters no longer exist:
    • -DEBUG
    • -ENVONLY
    • -PARENT
    • -TESTMENU: With the demo mode, it is still possible to use menus in SAP ECTR, which are normally not displayed due to the missing license.
    • -U32
    • PLM_D_SETENV: The environment variable is no longer taken into account. The plm_setenv.bat is always used.

Changes in Backend

New authorization object PLM_START

This section describes the effects of the change when storing measurement-relevant SAP licenses. The authorization object "PLM_START" has been added to the role /DSCSAG/ECTR_BASE. From now on, the FB CDESK_SRV_CAD_LOGIN is called by SAP ECTR for storing licenses. This checks the authorization object PLM_START.

The authorization object PLM_START is now checked before storing a license (whether SAP ECTR Standard, SAP ECTR Professional or a CAD license).

New authorization object PLM_START

Existing customers must enhance the basis role manually by using transaction PFCG and then insert the authorization object PLM_START.

Symptom / error message in case authorization PLM_START is missing

DE: Keine Berechtigung für CAD-Einheit 7522 für Benutzer ....
EN: No authorization for CAD unit 7522 for user ...

Log file:












No authorization for CAD unit 7522 for user ZZ16BESP.





Delivery of active BAdIs and User Exits as of version 5.2

Previously, when installing SAP ECTR, it was always necessary to implement one or more BAdIs / user exits manually to call the SAP ECTR Observer and other functions.

This is now being changed and this need is almost eliminated everywhere.

The implementation was always made in such a way that the existing /DSCSAG/ code was changed so that the "manual" call in the old BAdI became ineffective. You can now remove the code there, but you do not have to do this during the upgrade.

Active BTE (Business Transaction Event) for equipments and functional locations

It is no longer necessary to implement the BAdI EQUI_UPDATE or extension ILOM0001 and fill it with /DSCSAG/ code for installing SAP ECTR. The /DSCSAG/ code is automatically delivered in a BTE. The /DSCSAG/ code is changed so that the call in the old BAdI has no effect.

Customizing is delivered in BC Set /DSCSAG/ECTR_BC_BASE1.
The BTE can also be activated manually in customizing. Transaction BF23:

The call of method /dscsag/badi_utils=>equipment_in_update()can now be removed from the BAdI method method EQUIPMENT_IN_UPDATE, but it is not necessary. If the observer is still called directly with /DSCSAG/UPD_OBJECT2 in the BAdI EQUI_UPDATE, this code should be removed, otherwise two entries are written to the Observer.
Note: Unfortunately, an active implementation of the BAdI EQUI_UPDATE was delivered with SAP ECTR 520 SP00, which is only deactivated again with Note 2875243 in SP03. Until then, the actively delivered implementation /DSCSAG/ECTR_EQUI_UP must be deactivated manually as described in SAP note 2875243.
The call of method /dscsag/badi_utils=>floc_ilom0001() can now be removed from the Include ZXLOMU01, but it is not necessary. If in the Include ZXLOMU01, the Observer is still called directly with /DSCSAG/UPD_OBJECT2, this code should be removed, otherwise two entries are written to the Observer.

Usage of BAdI DOCUMENT_MAIN03 instead of DOCUMENT_MAIN01 for documents

It is no longer necessary to implement the BAdI document_main01 and fill it with /DSCSAG/ code for SAP ECTR installations. The /DSCSAG/ code is automatically delivered in an active BAdI implementation for DOCUMENT_MAIN03. The /DSCSAG/ code is changed so that the /DSCSAG/... - calls in the old BAdI document_main01 becomes ineffective.

You can remove the call of "/dscsag/utils=>doc_before_save()" from IF_EX_DOCUMENT_MAIN01~BEFORE_SAVE but there is no need to do it. 

Active BAdI BADI_MATERIAL_CHECK for materials

It is no longer necessary to implement the SMOD/CMOD Exit LMGMU / MGA00001 and fill it with the /DSCSAG/ code for SAP ECTR installations. The /DSCSAG/ code is automatically delivered in an active BAdI. The /DSCSAG/ code is changed so that the call in the old LMGMU exit becomes ineffective. You can remove the call /dscsag/utils=>exit_saplmgmu_001() from include ZXMG0U02, but there is no need to do it.

Upload of DTypes

After an upgrade, reload the DTypes into the SAP system. You can do this via the SAP ECTR interface by selecting the menu option AdministrationSystem SetupUpload Settings to SAP System as administrator.

Number range check for material creation with external number assignment

The SAP standard function module BAPI_MATERIAL_SAVEDATA is called from the function module /DSCSAG/MAT_SAVEDATA for material installation using SAP ECTR. However, this does not lead to a number range check. This made it possible to assign the material numbers for the material types in the plant using the SAP ECTR independently of the number range and number range assignment defined in customizing. An additional plausibility check has therefore been introduced to prevent materials from being created in incorrect number ranges.

Backend add-on 

To import the backend add-on for SAP ECTR 5.2 into the SAP backend, a number of steps are required.

Note: The sequence of steps must be observed. This is the only way to guarantee an error-free upgrade.

(info) Read note 2049249 

You can upgrade from Release 510 to Release 520 using the SAPK-520COINECTR installation package. Note that the ECTRWUI 520 add-on does not exist because it was merged together with SAP ECTR 520.

(info) Read note 2773527 - Additional Release information for ABAP Add-on ECTR 520.

The requirements specified in this notes must be fulfilled for 5.2 to be installed.

  • ECTR 520 requires at least EHP8 FOR SAP ERP 6.0 with Support Package Stack 11 (10/2018) + additional notes. 
  • There are plans for ECTR 515 with same functionality like ECTR 520. This will require then EHP7 FOR SAP ERP 6.0 with Support Package Stack 17 (10/2018) + additional notes.

Import 5.2 SAINT package SAP ECTR 520 with all available SPs.

New OMF for the migration of search queries in macro-based SmartLists

There is the new OMF that can be implemented in SAP ECTR by the customer. 

This function enables the user to automatically convert individually created search queries from previous SAP ECTR versions into the new macro-based SmartLists.
For documents, materials, and change numbers, Smart Lists are converted based on search mask macros. These macros reference search masks that contain all necessary fields for the search.
Referenced macros in the converted search queries:


Macro path









For work items
Macro file zsearch_workitems.macro:

function main() { 
pm = PARAMETER_MAP("workitem_fields");
pm.TIME = ASK_USER("TIME", "Time");
pm.TYPE_FILTER = ASK_USER("TYPE_FILTER", "Type filter"); 
setId = SEARCH("workitem", p);
keylist = KEYLIST_FROM_SET(setId)

Note: Only the basic settings of search masks from the standard system are used here, but no customer-specific extended settings or any other settings that do not belong to the search mask theme.

Preparation: Before you start the OMF, you have to copy all lines with<NUMBER>.* from the User.txt of 5.1 into the user.txt of 5.2 e.g.: gefundene*

Simplified (removed) objects

  • The script dsc_PopWin.a3x / dsc_PopWin.exe has been removed.
  • The file dsc_ExtractThumbnails.a3x has been removed as the 32-bit version is no longer needed.
  • The hardcoded fallback, which caused the creation of dependent documents based on a template from the template directory to be possible only in NX, has been removed.
  • Method "updateAssembly" has been marked as "deprecated" and not adopted in version 5.2 . Alternative: Use instead @link PlmConnector#checkForUpdates} and {@link PlmConnector#provideDocuments(List, List).
  • The previously known search containers in the Desktop window are no longer supported and are replaced by other search options such as Smart Lists.
  • Due to the new Java Launcher, some configuration options from plm_setenv.bat and plm_initialize.bat that no longer exist have been removed.
  • It is no longer possible for the user to delete the root folder in the Desktop window.
  • As of version 5.2, all customer-specific, self-created search queries will no longer work and must be created from scratch in Smart Lists. The following functions are affected:
fnc.dynamic.folder.add = New Query
fnc.dynamic.folder.add.query = Edit Query
fnc.dynamic.folder.add.query2 = Edit Query (2)
fnc.dynamic.folder.delete = Delete
fnc.dynamic.folder.refresh.query = Refresh
fnc.dynamic.folder.rename = Rename
fnc.dynamic.folder.setting = Settings...

  • Existing customers must check whether the DType or application-specific preference variable contains the string "mastermodel.prt" for dependent documents. e.g. = mastermodel.prt
  • The NX-specific variable UGII_D_WRITE_EXTENDEDINFOFILE has been replaced by the generic variable plm.viewer.multi.level.positioning.file.

See Also

Read suggested related topics:

  • No labels


  1. Thank you very much for this detailed information.

    For me it is not clear if a parallel operation of SAP ECTR 5.1 and 5.2  is possible, after I have updated the ERP System with the backend add-on for SAP ECTR 5.2.

    Can I still use the SAP ECTR 5.1 client and its CAD Integrations ?

    Otherwise I will be forced to install the SAP ECTR 5.2 client components  beforehand on all clients.

    Best regards,


    1. During the development of the new minor release of the ECTR backend, we tried to keep the RFC API downward compatible. No intentional changes were made to the API to make it syntactically incompatible with 5.1. But this backwards compatibility of the ECTR backend to the ECTR frontend can not be guaranteed / assured. Here the permutations would be too high. The wider the difference between backend and frontend version, the more likely it is that problems will occur. (I tested some basic functions with frontend and 520 SP01 backend and they worked fine.)

      Vice versa it will not work: You can not use e.g. 5.2.3 frontend with ECTR 510 backend. You will receive the error "Backend version is not suitable...".

      Best regards,