共计 2286 个字符,预计需要花费 6 分钟才能阅读完成。
在 SAP CDS(Core Data Services)的畛域中,ad hoc association
指的是一种在 CDS 视图中长期定义的关联关系。CDS 视图是一种在 SAP 零碎中定义和治理数据模型的技术,用于将不同的数据源和表关联起来,以便在应用程序中进行查问和剖析。ad hoc association
容许在不当时在数据模型中定义的状况下,在 CDS 视图中创立长期的、非常规的关联,以满足特定的查问需要。
下图红色高亮区域是一个具体的例子:
示例:
假如有一个 SAP 零碎,其中蕴含无关员工和部门的数据。通常状况下,您可能曾经在 CDS 数据模型中定义了名为 Employee
的实体和名为 Department
的实体,并在它们之间建设了正式的关联。例如:
entity Employee {
key EmployeeID: Integer;
FirstName: String;
LastName: String;
DepartmentID: Integer;
}
entity Department {
key DepartmentID: Integer;
Name: String;
}
在这种状况下,您能够轻松地通过正式关联来查问员工和其所属部门的信息。然而,有时您可能须要进行长期的、特定的查问,须要应用不同的关联条件。这就是 ad hoc association
发挥作用的中央。
长期关联的应用:
假如您须要查问特定部门中工资高于某个阈值的员工。尽管您的 CDS 数据模型中没有定义这种关联,但您能够通过 ad hoc association
实现此指标。在查问中,您能够在 CDS 视图中定义长期的关联条件,以实现特定的过滤需要。
@AbapCatalog.sqlViewName: 'HighSalaryEmployees'
@EndUserText.label: 'View with high salary employees'
define view HighSalaryEmployees as select from Employee
association [0..1] to Department as _Department on _Department.DepartmentID = Employee.DepartmentID
where Employee.Salary > 80000;
在这个示例中,咱们应用了ad hoc association
,通过将员工表与部门表连接起来,而后筛选出工资高于 80000 的员工。只管这个关联不是在数据模型中事后定义的,但它容许您依据特定的查问需要进行关联和过滤。
通过ad hoc association
,您能够在不批改正式数据模型的状况下,针对特定查问场景创立长期的关联关系。这使您可能更加灵便地适应不同的查问需要,而不用在数据模型中为每个可能的状况都定义正式的关联关系。
持续应用后面的示例,咱们将进一步阐明 ad hoc association
的用法。假如您须要为特定部门中工资高于某个阈值的员工创立一个报告,以便将这些员工的信息展现给人力资源部门。您能够应用 ad hoc association
在 CDS 视图中实现这个报告的创立,而无需在数据模型中定义额定的正式关联。
@AbapCatalog.sqlViewName: 'HighSalaryReport'
@EndUserText.label: 'Report of high salary employees'
define view HighSalaryReport as
select from Department
left outer join HighSalaryEmployees on Department.DepartmentID = HighSalaryEmployees._Department.DepartmentID
{
Department.DepartmentID,
Department.Name,
HighSalaryEmployees.EmployeeID,
HighSalaryEmployees.FirstName,
HighSalaryEmployees.LastName,
HighSalaryEmployees.Salary
}
在这个示例中,咱们应用了 ad hoc association
来创立一个报告,其中蕴含特定部门中工资高于 80000 的员工信息。通过在视图中连贯 Department
和HighSalaryEmployees
,咱们能够依据特定查问需要,将员工的信息与其所属部门的信息一起展现。
ad hoc association
的价值:
- 灵活性:
ad hoc association
容许您依据特定的查问需要,长期定义关联关系,而无需批改整个数据模型。这使您可能更加灵便地应答不同的查问场景。 - 特定查问需要: 有时,您可能须要创立长期报表、剖析或查问,这些查问在数据模型中没有事后定义的关联关系。通过
ad hoc association
,您能够满足这些特定的查问需要。 - 防止适度复杂化: 如果为每个可能的查问都定义正式关联关系,数据模型可能会变得复杂且难以保护。
ad hoc association
使您可能在不减少数据模型复杂性的状况下解决特定的查问问题。 - 疾速响应需要: 因为
ad hoc association
容许在 CDS 视图中长期定义关联关系,因而您能够更快地响应业务部门的查问需要,而无需期待正式关联的创立和批准。
综上所述,SAP CDS 视图中的 ad hoc association
是一种灵便的技术,容许在不当时定义正式关联的状况下,依据特定的查问需要创立长期的关联关系。通过这种形式,您能够更加灵便地满足不同的查问场景,提供定制化的报表和剖析,同时防止适度复杂化的数据模型。