2

我是 MDS 新手,我对 MDS 中的一对多关系映射有疑问

我有一个产品,包含多种语言的描述。我创建了两个具有派生层次结构的实体:产品(P_ID,P_name)和附加描述(P_ID,P_Name_in_German,P_name_in_English)。

附加描述是 MDS UI 中产品表的下拉列表,但我只想填充与其相同 P_ID 相关的信息。我怎样才能做到这一点?我可以在这里使用业务规则以及它应该是什么样子吗?

(2012 主数据服务的网页界面)

4

3 回答 3

0

你错过了一些东西。你说你有一个派生的层次结构,但你没有在附加描述实体上显示基于域的属性,并带有指向产品实体的指针。也许您认为 Additional Description 的 P_ID 是返回的指针,但事实并非如此(根据您的解释)。它是 Additional Description 实体的实体代码标识符,而不是您需要的指向 Product 的键。也许你的意思是一对一。一对多意味着您有一个单独的 Parent_P_ID 返回到 Product 实体。

将 Domain Based Parent_P_ID 属性添加到 Additional Description 实体,然后重新构建派生的层次结构。这可能没有那么有用,因为我认为您在解释您正在尝试做的事情时遗漏了一些东西。

于 2014-02-25T20:27:52.407 回答
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)

希望这对您有所帮助!

于 2014-06-02T05:54:49.920 回答
0

嗨 Coconuts,我们无法在 MDS 2012 中将派生层次结构分配给实体,但我们可以在 MDS 2016 中实现这一点,您的基于域的属性(下拉)无法在 MDS 2012 中进一步过滤。

于 2017-04-13T11:20:07.937 回答