Technology Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
patrick_winkler
Product and Topic Expert
Product and Topic Expert
8,029

Introduction

When using the ADT wizard to generate a business configuration maintenance object, you can choose "No Transport" for "Transport Selection" for an app without transport option. Suitable for configurations that are to be adjusted in every client.

Considering the ABAP environment, this blog describes what needs to be considered for this scenario.

This blog is relevant for

Further reading:

SAP BTP, ABAP environment

In the current SAP BTP ABAP environment, the production client is configured to allow changes for client-specific objects. Therefore, this specific check is always passed. Whether you can edit in the production client does not depend on transport object settings, but on the given authorization.

SAP S/4HANA Cloud Public Edition

The test and production client are configured in a way that changes are not allowed for client-specific objects. If the attribute "transportRecording" of the transport object is set to "automatic", the user cannot edit the configuration even if the user has the required authorization. If set to "notSupported", the user can edit the configuration in all clients.

Prior to release 2402, the ADT wizard did not generate a transport object by default. If you do not have a transport object, it depends only on the relevant authorization whether you can edit in the test and production client.

SAP S/4HANA Cloud Private Edition

The relevant settings are "Client Role" and "Changes and Transports for Client-Specific Objects" in transaction SCC4. The user must also have the appropriate authorization as defined in CDS access control/RAP BO authorization control.

To enable the "No Transport" option in the ADT wizard, implement SAP Note https://me.sap.com/notes/3579012

To enable editing in all clients, implement SAP Note https://me.sap.com/notes/3635129

You enable editing in all clients by setting the attribute "transportRecording" of the transport object to "notSupported" in ADT, or you can use transaction SOBJ to set the attribute "Transport" to "No Transport".

Use the ADT wizard to generate a business configuration maintenance object with option "No Transport" for "Transport Selection". You can adjust the configuration in all clients.

Follow the steps below for existing apps with transport selection:

  1. In transaction SOBJ, set "Transport" = "No Transport" in the header data of the generated transport object. Save your entries.
  2. Edit the behavior definition, delete the action "SelectCustomizingTransptReq" and all validations "ValidateTransportRequest". Remove annotation "with additional save". Save and activate.
  3. Edit the Behavior Projection and delete the action "SelectCustomizingTransptReq". Save and activate.
  4. Edit the behavior implementation class:
    • Delete the method "SelectCustomizingTransptReq"
    • Delete all methods "ValidateTransportRequest"
    • Remove all occurrences of "%ACTION-SelectCustomizingTransptReq"
    • Clear the method "SAVE_MODIFIED", that is, leave the method implementation empty
    • Delete the variable "selecttransport_flag" and its occurrences in method "GET_INSTANCE_FEATURES" of local class LHC_<singleton entity>
    • Save and activate
  5. In the metadata extension of the singleton entity, remove the field TransportRequestID. Save and activate.

 

39 Comments