我是MDS的新手,我对MDS中的一对多关系映射有疑问
我有一个产品,包含多种语言的说明。我创建了两个派生层次结构的实体:product(P_ID,P_name)和Addtional description(P_ID,P_Name_in_German,P_name_in_English)。
添加个人描述是从MDS UI的产品表下拉,但我只想填充与其相同的P_ID相关的信息。我怎样才能做到这一点?我可以在这里使用业务规则以及它应该是什么样子的吗?
(2012年主数据服务'网络界面)
答案 0 :(得分:0)
你错过了什么。您说您有一个派生的层次结构,但是您没有在附加描述实体上显示基于域的属性,并且指针返回到Product实体。也许您认为附加描述的P_ID是指针,但它不是(基于您的解释)。它是“附加描述”实体的实体代码标识符,而不是指向“产品”所需的密钥。也许你的意思是一对一。一对多意味着您将单独的Parent_P_ID返回到Product实体。
将基于域的Parent_P_ID属性添加到“附加描述”实体,然后重新构建派生的层次结构。这可能没那么有用,因为我认为你已经从你想要做的事情的解释中留下了一些东西。
答案 1 :(得分:0)
我也遇到过类似的问题。我决定为语言添加多个字段并为它们应用业务规则。让我们看看它对你的实体是如何起作用的:
Product entity
{
Code
Name
Name_in_English (text)
Name_in_German (text)
Default_language (domain based, points to Languages entity)
}
Languages entity
{
Code
Name
}
向Languages实体添加值:
Code = "EN", Mane = "EN"
Code = "DE", name = "DE"
现在我们需要将以下业务规则添加到Product实体:
BR1:
{
IF Condition - Equals: Default_language equals "EN"
THEN Action - Change value: Name = Name_in_English
}
BR2:
{
IF Condition - Equals: Default_language equals "DE"
THEN Action - Change value: Name = Name_in_German
}
之后您将只能以适当的语言在产品实体中看到产品名称,该语言由下拉字段Default_language选择。
第二种选择: 如果您希望用户只看到“名称”字段,并且不希望他看到其他字段, 您可以通过将其宽度设置为零来隐藏这些字段(Name_in_English和Name_in_German)。 此外,您可以使用属性组分隔两种视图模式:
first mode (for the regular user) - You see only Code and Name
second mode (for the administrator) - You see fields: Name_in_English, Name_in_German, Default_language.
使其工作您需要创建两个属性组:
1) attribute group "EN" (add attributes Name and Code to the group)
2) attribute group "DE" (add attributes Name_in_English, Name_in_German, Default_language to the group)
希望有些有用!
答案 2 :(得分:0)
嗨Cocunuts, 我们无法在MDS 2012中将派生层次结构分配给实体,但我们可以在MDS 2016中实现此目标,在MDS 2012中无法进一步过滤基于域的属性(下拉列表)。