首页 > 解决方案 > 在 BIP RTF 模板中使用参数连接字符串

问题描述

在我的 BIP RTF 模板中,我在参数(比如诊所)中接收到一个字符串,并且在 IF 条件下,我必须将参数($Clinic)与 XML 标记(ssRohClinicFacilityName)匹配。

现在的问题是,传入的参数是一个截断的字符串,为了准确匹配,我们必须附加一个带有参数的字符串,如下所示:

$Clinic + " Clinic"

由于报告是从 Siebel 应用程序生成的,因此 Siebel 方面对参数中要发送的字符数有限制。

为了达到上述要求,我尝试了多种选择,但没有一个对我有用。

到目前为止,我已经尝试过以下操作:

这是我现有的 if 条件:

<?if:( xdoxslt:format_date(ssAssignmentDate, 'yyyy-mm-dd','mm/dd/yyyy', $_XDOLOCALE, $_XDOTIMEZONE))>= (xdoxslt:format_date($StartDate, 'yyyy-mm-dd','mm/dd/yyyy', $_XDOLOCALE, $_XDOTIMEZONE)) and (xdoxslt:format_date(ssAssignmentDate, 'yyyy-mm-dd','mm/dd/yyyy', $_XDOLOCALE, $_XDOTIMEZONE))<= (xdoxslt:format_date($EndDate, 'yyyy-mm-dd','mm/dd/yyyy', $_XDOLOCALE, $_XDOTIMEZONE))?>

我的示例RTFXML文件。

标签: rtfbi-publisher

解决方案


如果您只使用通配符进行比较,我认为对您来说会更容易。

参考:https ://blogs.oracle.com/xmlpublisher/wildcards

& https://www.quackit.com/xml/tutorial/xpath_string_functions.cfm

你可以搜索

starts-with(ssRohClinicFacilityName, $Clinic)

--新内容--

它可以与 if 函数一起使用,甚至可以不使用。这是我尝试过的:

在此处输入图像描述

这是结果。

在此处输入图像描述

<?starts-with(ssRohClinicFacilityName, $Clinic)?>

带有 if 条件

<?if:starts-with(ssRohClinicFacilityName, $Clinic)?> 
'MATCHED'
<?end if?>

我建议您尝试单独测试这部分,if 语句中可能存在其他错误导致输出不正确。


推荐阅读