Skip to Content

SAP HCI Cannot create Content Modifier External Parameter in Web UI

I am not able to create an External parameter for the Content modifier. The dropdown is not enabled.

I followed the URL External parameter not working HCI Web with a user who has the same issue. The recommendation was to create the external parameter in Eclipse and deploy that.

So I created this in Eclipse:

Then I click on the Externalized Parameters tab (in between the Console and the Remote Systems tab).

Then I sync with the Editor, add the values, and then save the parameters.

I execute checks for the flow and make sure everything looks good. Then I deploy the integration content from Eclipse. I check the deployment in the console and tasks view and I get no errors:

However, when I create the external parameter for the Content modifier in Eclipse and deploy, I still do not see the external parameter that I created in Eclipse in the Web UI.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Best Answer
    May 30 at 12:01 PM

    Hi All

    For those that still come across this post, it is possible without the need to classify the parameter as an External Parameter. In the content modifier, simply set the type to Expression and set the value to the same name as your external parameter {{extName}}.

    You can use the same concept in the message body if you want to access the parameter by simply using {{extName}}. This will dynamically replace the value.

    To access the externalized parameters via scripts, you can use the Camel SimpleBuilder function to evaluate the parameter name and return it as a String:

    import org.apache.camel.Exchange;
    import org.apache.camel.builder.SimpleBuilder;
    
    def Message processData(Message message) {
    
        def Exchange ex = message.exchange;
    	def messageLog = messageLogFactory.getMessageLog(message);	
    	if(messageLog != null){	
    		messageLog.setStringProperty( "Property" , SimpleBuilder.simple('{{sftp.directory}}').evaluate(ex, String) );
    	}
    	}
    	return message;
    }
    
    Add comment
    10|10000 characters needed characters exceeded

    • Looks like this will work. But I still do not understand why SAP couldn't simply add this feature in the WebUI in such a long time.

  • Oct 11, 2017 at 07:22 AM

    Hello Jay,

    As per understanding externalizing the parameters directly from content modifier [ WEBUI ] is not yet available ( Although there is a button externalize appearing in right corner of Content Modifier ) for Integration Project created in WEBUI, as a work around you can create a project in Eclipse and externalize the required parameter and import it to webui.

    I am able to view the External Parameter Created which got created in Eclipse in WEBUI without any issues ( from Content Modifier perspective it is not editable & grayed out in WEBUI).

    Screenshot from WEBUI content modifier:

    Regards,

    Sriprasad Shivaram Bhat

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Jay,

      Currently, the only way you can see the External Parameters in WEBUI (greyed out) is the above way: i.e. Export/Import the iFlow from WEBUI to Eclipse, define external parameters in Eclipse, delete the iFlow in WEBUI and export/import the iflow from Eclipse to WEBUI.
      As mentioned above, the external parameter features in WEBUI are still in development.

      Best regards,
      Pierre.

  • Oct 11, 2017 at 07:01 AM

    Hi Jay

    External parameter in Content Modifier on WebUI does not work for me too.

    As to your Eclipse changes, deploying them does not mean that it will appear in WebUI. Nothing you deploy from Eclipse will appear in WebUI - it's unfortunate that it's that way, but that's the way things are. To "sync" your changes between WebUI and Eclipse, you need to use the workaround mentioned in my blog below:-

    HCI: Transferring Integration Package Content from WebUI to Eclipse and back

    Regards

    Eng Swee

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Jay

      Let's be very clear about the fundamentals here with regards to the following two items:-

      • Design time artifact
      • Runtime/Deployed artifact

      Web UI (Design) section and Eclipse deals with designing design time artifacts. If you design in Eclipse, and deploy from Eclipse, only the Deployed artifact is changed in the tenant, and this is only reflected in Web UI - Monitoring section. Deployment from Eclipse DO NOT update the design time artifact in Web UI - Design section.

      If you do not get this fundamentals, you can test this out by creating an arbitrary project in Eclipse and deploying it into the tenant. If you go to Web UI, you cannot see the project in Design (i.e. design time artifact is not transferred), and you can only see the deployed integration flow in Monitoring (i.e. deployed artifact is transferred).

      An analogy to this is a Java development,

      • Java source code - design time artifact
      • Java compiled library (JAR file) - runtime artifact

      You do not deploy a design time artifact into a server to execute it, you deploy the runtime artifact.

      If you get this, then you can make sense of why you had to do what you had to do. Hope this helps.

      Regards

      Eng Swee

  • Apr 05 at 02:42 PM

    Hi All,

    Is there any possibility to create custom adapter module in Eclipse for SAP CPI scenario.

    Regards,

    Sandhya.

    Add comment
    10|10000 characters needed characters exceeded