要创建属性:
名称
属性类型:
日期
日期和时间
整数
列表:
如果选择“列表”,请输入该问题的有效答案列表。
多行文本
最大长度应在 4,000 个字符以内。
选择多行文本,然后输入行数,3 到 50 行。“多行文本”决定了在不滚动屏幕的情况下,在“操作”对话框中可以看到多少行文本。
对于多行文本类型:如果您希望“操作”对话框中的自定义属性包括附件部分,请选中包括附件。
数字:
如果选择“数字”,请选择数字格式设置选项
对于“小数位数”,输入要显示的小数位数值。
如果希望数字显示千位分隔符(例如 1,000.00),请选择“千位分隔符”选项
从“货币符号”列表中选择一个货币符号,例如美元 ($)。
从“负数”列表中,选择如何显示负数,例如 (123)。
从“比例”列表中选择数字的比例值,例如 1000。
文本
True 或 False
用户
是或否
计算
注:
此功能仅在 11.1.2.4.100(修补程序 20307212)中提供。有关新功能和更新至版本 11.1.2.4.100 的信息,请访问 My Oracle Support https://support.oracle.com
计算属性是只读属性。只能根据调度执行计算:
调度:在“任务列表”、“甘特图”或“BI 仪表板”视图中,您可以添加任何计算,无论是否将计算显式分配给任务,都会执行计算。
模板:您不能将选择了“计算”选项的自定义属性添加为列或可筛选属性。
管理员可以向“操作”对话框中的属性部分添加属性,使这些属性可供工作流用户查看。管理员可以将访问权限设置为“不显示”,从而将访问权限只给予某些角色。例如,对于计算属性 XYZ,管理员可以为其添加“查看者: 不显示”访问权限,这样 XYZ 便不会对查看者显示。
任何用户角色均可在视图和 Portlet 中将计算属性添加为列。此外,也可以在“筛选器”面板中将它们添加为可筛选属性。
当您选择计算时,会显示计算定义部分:
计算类型:值列表由属性类型确定:
将值分配给列表 - 将自定义值分配给列表类型的属性
将列表分配给值 - 将自定义列表值分配给不同属性的值。
条件 - 条件计算 (If – Then – Else)
脚本形式 - 自由形式的脚本计算。脚本形式适用于整数、多行文本、数字或文本类型的属性。
下表列出了选择了“计算”选项时各种属性类型可使用的计算类型:
表 3-2 定义属性
属性类型 | 将值分配给列表 | 条件 | 脚本形式 | 将列表分配给值 |
---|---|---|---|---|
日期 | ||||
日期/时间 | ||||
整数 | X | X | X | |
列表 | X | X | ||
多行文本 | X | X | X | |
数字 | X | X | X | |
文本 | X | X | X | |
True/False | X | |||
用户 | ||||
是/否 | X |
当您选择脚本形式计算类型时,要输入自由形式的计算公式,请使用“添加属性”和“添加函数”:
添加属性 - 选择一个属性并单击 将该属性插入到“计算定义”框中的光标位置。如果光标在一个单词或属性的中间,则该单词/属性将在定义中替换。根据脚本格式,添加的任何属性都会用括号 {} 括住名称。
添加函数 - 选择一个函数并单击 ,将函数添加到“计算定义”中。在添加的函数中,每个参数都有占位符。
例如,在计算定义中插入 DATE_DIFF 函数:
DATE_DIFF(<Date1>, <Date2>, <Type>)
然后用属性替换占位符:
DATE_DIFF( {Start Date}, {End Date}, "DAYS")
其他脚本形式函数示例:
添加月:返回与开始日期相差指定月数的日期。该日期始终处于指定的偏差月内。如果开始日期所在的那一天超过了偏差月中的最后一天,则将使用偏差月的最后一天。例如, EDate (31-Jan-2017, 1)
返回 (28-Feb-2017)
。对于 Months,输入开始日期之前或之后的月数。月数为正值将产生将来的日期。负值将产生过去的日期。
EDate(<Start Date>, <Months>, <Length>)
示例:EDate(DATE(2017, 2, 15) 3)
日期:基于在年、月和日指定的整数值返回日期值。例如,此函数将从函数中创建一个类型为“日期”的值,因此 DATE(2018, 5, 31) 将转换为 2018 年 5 月 31 日。然后,该日期将用于日期差额函数,提取某个日期(例如结束日期)与此特定日期之间的天数差额。
DATE(<Year>, <Month>, <Day>)
日期差异:返回两个日期之间相差的天数、小时数、分钟数或秒数。对于 Date1 和 Date2,可使用值 "TODAY" 和 "NOW",它们分别表示当前的日期(不含时间部分)和日期时间。
有效类型为 DAYS、HOURS、MINUTES、SECONDS。DATE_DIFF(<Date1>, <Date2>, <Type>)
Example: DATE_DIFF("TODAY", {Preparer End Date}, "DAYS") or DATE_DIFF({Preparer End Date}, "NOW", "HOURS")
天:以整数返回日期所在的那一天
DAY(<DATE>)
提取文本:返回值中自指定位置起的子字符串。
SUBSTRING(<Value>, <Location>, <Length>)
示例:SUBSTRING( {Name} , 5, 10)
If-Then-Else:允许用户将条件计算插入脚本形式计算。可以嵌套使用 IF_THEN_ELSE 计算,以支持 "ELSE IF" 类型的计算。
IF_THEN_ELSE(<Condition>, <Value1>, <Value2>)
示例:
IF_THEN_ELSE( ( {Priority} = "Low"), "Good" IF_THEN_ELSE( ( {Priority} = "Medium"), "Better". "Best") )
Instring:返回搜索的值。
INSTRING(<Value1>, <Value to Search>)
示例:INSTRING({Name}, 'a')
小写:以小写形式返回值
LOWERCASE(<Value>)
示例:LOWERCASE ({Task Code})
最大值:返回属性列表中的最大值。可以包含任意数量的参数。
MAX(<Value1>, <Value2>,<ValueN>)
示例:MAX( {Scripted Substring Loc a}, {Scripted Substring Loc s}, {Scripted Substring Loc t} )
最小值:返回属性列表中的最小值。可以包含任意数量的参数。
MIN (<Value1>, <Value2>, <ValueN>)
示例:MIN( {Scripted Substring Loc a}, {Scripted Substring Loc s}, {Scripted Substring Loc t} )
月:以整数返回日期所在的月份 (1-12)
MONTH (<DATE>)
舍入:返回舍入到指定小数位数的值
ROUND <Value1>, <Decimal Places>)
示例:ROUND( ({Scripted Substring Loc t} / 7), '4')
子字符串:
SUBSTRING(<Value>, <Location>, <Length>)
示例:SUBSTRING( {Name}, 4, 10)
文本位置:返回值中子字符串的索引,1 表示第一个位置。
INSTRING(<Value>, <Value To Search>)
示例:INSTRING( UPPERCASE( {Name} ), 'TAX' )
大写:以大写形式返回值。
UPPERCASE(<Value>)
示例:UPPERCASE( {Name} )
年:以整数返回日期所在的年份。
YEAR (<DATE>)
计算的语法是否正确
计算中指定的属性和函数是否存在
函数的参数是否正确
是否不存在循环回路