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

2020-08-16 23:32发布

         点击此处--->   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)

         点击此处--->   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)
付费偷看设置
发送
3条回答
clasier
1楼-- · 2020-08-17 00:01

你好Akash,

在查询API时是否要删除空格,如果是,请在内容修饰符>交换属性>值中使用normalize-space

规格化空间(p1:Request/p1:RoleMaster/p1:Role)

Yatan

风早神人
2楼-- · 2020-08-16 23:59

嗨Yatan,

谢谢您的回复。

我不想规范空间。我想处理这个查询-触发空xml时" $ select = roleId,roleName"。

此致

Akash

SC_Yao
3楼-- · 2020-08-16 23:48

这应该在未选择过滤条件的情况下进行。

您的问题还有错别字

我能够提取所有记录

一周热门 更多>