输入收据窗口中的说明性弹性域
您可以定义说明性弹性域以在 Oracle Web 员工管理系统的“输入收据”窗口中记录附加信息。例如,您可以为员工在“输入收据”页面中输入的每个费用项目定义显示的自定义字段。员工在您定义的这些附加字段中输入的值将存储在 AP_EXPENSE_REPORT_LINES
表的已编号 ATTRIBUTE 栏中。在提交应付款管理系统发票导入程序时,您可以选择将这些 ATTRIBUTE 值导入 AP_INVOICE_DISTRIBUTIONS 表。然后,您可以将此信息用于自定义报表或自定义程序。
您还可以定义仅在员工选择特定费用类型时显示的上下文相关字段。例如,员工正输入收据。在员工输入“飞机票价”作为费用类型时,将显示航空线名称、机票编号和差旅等级等自定义字段。在员工输入“按英里计算的运费”作为费用类型时,将显示距离和按英里程计算的运费率等自定义字段。请注意上下文相关字段只能基于费用类型。
计算金额按钮
除存储附加信息以外,对于给定的费用类型,您可以将“计算金额”按钮添加至通过说明性弹性域定义定义的自定义字段集。如果您在 apwdfcfb.pls 文件中添加自己的自定义计算 PL/SQL 代码,则在员工将值输入自定义字段并选择“计算金额”按钮时,Web
员工管理系统将调用自定义 PL/SQL 代码。然后,Web 员工管理系统将对员工在自定义字段中输入的值进行计算,并填写“输入收据”窗口中的“收据总额”字段。例如,您可以自定义“输入收据”窗口,以使自定义“距离”字段在收据输入期间,员工输入“按英里计算的运费”作为费用类型时显示。员工输入此字段值,然后选择“计算金额”按钮。PL/SQL 代码将“距离”值与您在自定义 PL/SQL 代码或说明性弹性域默认字段中定义的按英里程计算的运费率相乘,并自动将结果输入“收据总额”字段。
如果报销币种不同于收据币种,您可以自定义 PL/SQL 代码以填写“收据总额”而非“总额”。然后,“输入收据”窗口将以报销币种计算收据总额并将此值输入“总额”字段。
通过在应付款管理系统的“费用报表模板”窗口启用费用项目的“计算金额”选项,您可以将“计算金额”按钮添加至“输入收据”窗口。
自定义弹性域例行程序
Web 员工管理系统提供了四个可自定义的例行程序,以获得所需要的弹性域活动状态。这四个例行程序均包括在 $AP_TOP/admin/sql/apwdfcfb.pls 文件中。Web 员工管理系统为每个例行程序提供了“挂钩”。您可以对其进行编辑以提供自定义的默认值和弹出式列表值,或提供自定义的计算和验证逻辑。它们是:
- CUSTOMPOPULATEPOPLIST 自定义此过程以生成自定义弹出式列表。不使用在“段值”窗口中为含独立验证的值集定义的值集值,您可以在弹出式列表中提供这些值的子集。对于含表验证类型的段,由于值并不自动根据值集定义中的
SQL 语句生成,因此在此过程中必须提供弹出式列表值。
- CUSTOMPOPULATEDEFAULT 自定义此过程以根据用户提供的信息而非使用您在“段”窗口“默认值”字段中定义的单一默认值来生成自定义默认值。您可以自定义此过程以根据 Web 费用启动报表页面中的信息,如员工标识、成本中心和报销币种来提供自定义字段的默认值。例如,您可以根据员工的职位默认每日费用值。
- CUSTOMVALIDATEDFLEXVALUES 自定义此过程以对用户输入的值执行自定义验证。此验证是您在定义说明性弹性域时定义的验证的补充。您可以定义与用户在“输入收据”页面中输入的其它字段相关的动态验证。为费用行层验证和单个费用类型上下文相关自定义字段验证调用相同的
API。
- CUSTOMCALCULATEAMOUNT 自定义此功能以定义系统在您选择“计算金额”按钮时执行的计算。系统将在“输入收据”窗口的“总额”字段中输入计算结果。但是,对于报销币种不同于收据币种的多币制费用报表,您可以自定义此例行程序以在“收据金额”字段中输入结果,或使用用户输入的兑换率以计算并输入“总额”字段。
建议:要使用储存在具有四个已提供过程的 Oracle 应用产品数据库中的自定义数据,您必须在 Oracle 应用产品中登记所有新的自定义表。请参阅:《Oracle 应用产品开发者指南》
注意:您应负责写入过程内的逻辑支持和升级,这将受到数据库或 Oracle 应用产品版本之间其它更改的影响。
建议:复制所有自定义的代码并将其置于目录中以防止升级。在升级之后,(如果适用)请重新应用任何自定义的代码。
定义费用报表的说明性弹性域
《Oracle 应用产品弹性域指南》详细说明了定义说明性弹性域的方法。以下论述将提供一些用于定义费用报表说明性弹性域的提示。将此说明文件与《Oracle 应用产品弹性域指南》一起使用。
要启用 Oracle Web 员工管理系统“输入收据”窗口中的“费用报表行”弹性域,请启用“Web 费用:启用说明性弹性域”配置文件选项。应付款管理系统还将使用应付款管理系统“费用报表”窗口的“费用报表行”弹性域。如果您要弹性域显示在应付款管理系统的“费用报表”窗口而非
Web 员工管理系统的“输入收据”页面中,请将“段”窗口中的“说明”段留空。
前提条件
计划您所需的“全局数据元”和上下文相关弹性域。请记住您可以使用 15 个属性栏,如果您使用全局数据元字段,则将减少可用于上下文相关字段的属性栏数。请参阅:弹性域概念概览,计划(说明性弹性域)
要定义“输入收据”窗口的说明性弹性域,请执行以下步骤:
2. 定位至“说明性弹性域段”窗口。您可以在此窗口指定要显示附加弹性域的费用类型值,如飞机票价、按英里计算的运费、早餐、午餐和晚餐。有关此窗口的详情,请参阅:说明性弹性域段窗口。请注意以下内容:
查询应用产品“Oracle 应付款管理系统”和标题“费用报表行”。输入以下值:
Oracle Web 员工管理系统不使用“上下文字段”区域中的剩余值,但 Oracle 应付款管理系统在“费用报表”窗口中将使用这些值。
为您要显示唯一自定义字段的每个费用类型输入行。例如:名称:飞机票价、说明:飞机票价的附加信息。
注意:您输入的上下文字段值名称与您在“费用报表模板”窗口“费用项目”字段中输入的上下文字段值名称必须完全相同,否则,上下文相关弹性域字段并不显示。
如果您要显示一个或多个自定义字段而不考虑用户输入的费用类型,请使用“上下文字段值”区域中的以下默认行:
3. 对于每个上下文字段值,请选择“段”按钮以定位至“段汇总”。使用此窗口以定义要显示的字段,以及用户可以输入的字段值。有关此窗口的详情,请参阅:上下文字段值《Oracle 应用产品弹性域指南》。
在段说明字段中,在用户单击“输入收据”页面中的字段提示时,输入您要用户在弹出式预警中查看的说明。例如,输入有关字段的公司特定政策。
注意:您必须输入段说明字段值,否则自定义字段并不在“输入收据”页面上显示。具有空说明的段仅在应付款管理系统“费用报表”窗口中显示。不使用“说明性”字段中的值定义的段对于
Web 员工管理系统用户不可见,如果您为段定义自定义默认值,则仍可以填写基础数据库栏(这些值将在应付款管理系统“费用报表”窗口中显示)。
在值集字段中,您确定用户是否可以输入文本,如 AP_SRS_ALPHANUMBERIC_OPT,或者您可以定义用户必须输入的特定值。
如果在默认类型字段中输入的值不是“常数”,您必须自定义 CUSTOMPOPULATEDEFAULT 例行程序。有关详情,请参阅:自定义弹性域例行程序
如果您要定义字段的有效值,请先定义值集。输入您要定义的值集的唯一名称,如差旅级别。选择“值集”按钮以定位至“值集”窗口。有关此窗口的详情,请参阅:定义值集
- 启用长列表:为每个长列表启用此选项,如员工列表。如果您启用此选项,则自定义字段将以文本字段形式显示。如果您要字段具有弹出式列表,请禁用此选项。由于长列表将降低性能,因此请仅为短列表禁用此选项。
- 格式验证:如果您要验证用户输入的数据格式,请指定验证标准。
- 验证类型:“独立”、“无”和“表”是将在“输入收据”窗口中显示的唯一验证类型。如果您要此值以复选框方式而非以下说明的默认值显示,请为该特定自定义选项指定 AP_SRS_YES_NO_MAND 值集。
- 表 如果自定义弹出式列表提供值,则将以弹出式列表显示。在将来的版本中,表验证的弹出式列表值将自动生成。
注意:在段与标准弹出式列表链接时,则必须使用“独立”或“表”验证。如果段与自定义弹出式列表链接,则必须使用“表”验证。
注意:要根据您在 CUSTOMVALIDATEDFLEXVALUES 过程中使用的自定义验证定义自定义错误信息,请将相关的错误文本传送至此过程。您无需为使用此过程而在应用对象程序库 (AOL) 表中设置自定义错误信息。
5. 在“段值”窗口中,为您要定义的新字段定义和启用有效值,例如,您可为值集“差旅级别”定义以下值:头等舱、公务舱、二等舱。有关此窗口的详情,请参阅:段值窗口
保存您所做的工作并返回到“段”窗口。启用新字段。在“段”窗口保存您所做的工作。
返回到“说明性弹性域段”窗口。启用您要使用的上下文字段值。选定“冻结弹性域定义”复选框。选择“编译”按钮以编译说明性弹性域定义。
建议:在核实您创建或扩展的说明性弹性域定义与 Web 员工管理系统是否正确配合之前,请先在应付款管理系统“费用报表”窗口内核实它的用途。这样有助于您在弹性域定义内标识错误。