通过PowerAutomate创建SAP维护通知时的DateTime格式报错问题
问题根源与解决方案
问题根源
- SAP OData服务日期解析依赖会话语言:当浏览器语言为德语时,PowerAutomate发送的请求会携带
Accept-Language: de请求头,SAP端OData服务会切换到德语区域规则处理日期,而非严格遵循OData标准的ISO-8601解析逻辑。即便传入符合ISO格式的字符串,德语区域默认期望DD.MM.YYYY格式的规则会干扰解析,导致转换错误。 - SAP解析模块正则表达式存在语法问题:你提供的
/IWCOR/CL_DS_EDM_DATE_TIME模块中的正则表达式包含多余空格(? ::部分应为?:),这会导致标准ISO-8601格式的时间字符串无法被正确匹配,进一步加重日期解析失败的问题。
推荐日期格式与解决步骤
- 强制使用英文区域解析:在PowerAutomate的请求头中添加
Accept-Language: en-US,覆盖浏览器的德语语言设置,让SAP OData服务以英文区域规则解析日期。此时使用标准ISO-8601格式:
即可正常通过验证。2025-12-25T00:00:00Z - 锁定PowerAutomate日期输出格式:确保PowerAutomate中输出的日期为原始ISO字符串,避免被自动转换为德语本地化格式(如
25.12.2025)。可在PowerAutomate的日期操作中直接选择“ISO 8601”格式输出。 - 检查SAP服务配置:若必须保留德语语言环境,联系SAP管理员核查
API_MAINTNOTIFICATION服务的配置,确认是否开启了OData标准日期格式强制验证,或是否存在自定义的语言相关转换逻辑需要调整。
内容的提问来源于stack exchange,提问作者Marco Paroti
相关产品推荐
相关产品推荐

