您必须创建 SForce 对象搜索语言 (SOSL) 查询来配置搜索对象活动。下列部分讨论配置搜索对象活动、创建 SOSL 查询和为 IBM® WebSphere® Cast Iron 提供 SOSL 语法规则的步骤。
创建 SOQL 查询时,您可以在 SOQL 语句的 WHERE 子句中使用动态参数。之后,Studio 可以将这些参数动态映射为活动的输入参数。这样就能基于针对编排的输入对查询进行动态控制。
SForce 对象查询语言不会为参数化查询定义语法;不过,Cast Iron 确实会实施一些专用 SOQL 语法规则。您可以在简单表达式或集合表达式中使用参数。
参数 | 有效或无效 |
---|---|
$AnAccount | 有效 |
$a123_456 | 有效 |
$123a | 无效 |
$_id | 无效 |
SELECT Name from Account where Name like $param and createdDate > $param
表达式类型 | 描述 |
---|---|
简单表达式 | 例如:Select ID from Account where Name = $NameParam 表达式左侧字段的 SOAP 类型可确定参数类型。如果字段类型可为空,而且运算符为 (=) 或 (!=),那么参数可为空。 如果在参数中设置 xsi:nil=true,那么参数值会在被替换时设置为 NULL。如果参数的类型要求用 (‘) 单引号将其引起来,那么在替换期间参数值会用单引号引起来,并且其内容自动转义。 对于 SOQL,(\) 反斜杠和 (‘) 单引号将进行转义。 |
集合表达式 | 例如:Select ID From Account where ID in $idList
参数类型是表达式左手边字段的 SoapType 的重复序列。参数不能为空,而且元素中包含 minOccurs=1, maxOccurs=unbounded。 该序列会在运行时扩展为适当的集合值,例如: Select Id From Account where Id in (‘value1',‘value2') |
集合表达式的某个部分 | 集合列表内的参数被视为简单表达式参数类型,例如: SELECT Name from Account where BillingState IN (‘California', $state2) 在此示例中,$state2 参数类型是 Account BillingState 字段的 SoapType,并且不是重复元素。该参数不能为空。 |