Dieser Typ von Variable wird ausschließlich über die Message Log API generiert, muss daher über ein Groovy Script angelegt werden.

Erwartetes Verhalten: Alle Exchange Properties, die mit dem Prefix CH_ angelegt sind, werden durch dieses Skript automatisch in Custom Header Properties der Message angefügt.

import com.sap.gateway.ip.core.customdev.util.Message
 
def Message processData(Message message) {
    def messageLog = messageLogFactory.getMessageLog(message)
    if (messageLog != null) {
      Map messageProperties = message.getProperties()
      List<String> CHKeys = []
      messageProperties.keySet().each { propertyKey ->
          if (propertyKey != null && propertyKey.toString().startsWith('CH_')) {
              CHKeys.add(propertyKey.toString())
          }
      }
      CHKeys.each { chPropertyKey ->
          def chPropertyValue = messageProperties.get(chPropertyKey)
          // Strip the CH_ prefix when creating the real header name
          def chName = chPropertyKey.substring(3)
          // Set to null by default if no custom val is maintained
          def chValue = chPropertyValue == null ? "" : chPropertyValue.toString()
          messageLog.addCustomHeaderProperty(chName, chValue)
      }
    }
 
    return message
}