动态查询以从成功因素中获取记录

2020-08-16 23:32发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我具有从Succes...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我具有从SuccessFactors(Odata V2)中获取记录的方案。 如果请求xml字段为空,则客户端需要获取所有记录。

我想基于RoleID和RoleName提取detla记录。

我已经编写了一个普通的脚本来实现这一目标。

我的查询存在一些问题,因为当我在RoleID和RoleName中发送"空格"(黄色)时,我能够获取所有记录。

请看一下脚本,并提出实现上述要求的任何更正-

导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 def消息processData(消息消息){
     def属性= message.getProperties();
     字符串RoleId = properties.get(" ROLEID");
     字符串RoleName = properties.get(" ROLENAME");
     字符串query ="";
    
     if((RoleId == null || RoleId.trim()。length()== 0)&&(RoleName == null || RoleName.trim()。length()== 0))
     {
         query =" \ $ select = roleId,roleName";
     }
     if((RoleId == null || RoleId.length()== 0)&&(RoleName!= null || RoleName.length()> 0))
     {
         query =" \ $ select = roleId,roleName&\ $ filter = roleName eq" +"'" + RoleName.trim()+"'";
     }
     if((RoleId!= null || RoleId.length()> 0)&&(RoleName == null || RoleName.length()== 0))
     {
         query =" \ $ select = roleId,roleName&\ $ filter = roleId eq" + RoleId.trim();
     }
     message.setProperty(" QUERY_DYNAMIC",query);
    
        返回消息;
 }
 

此致

Akash

(10.7 kB)