2

我得到了三张桌子。user taguser_tag。的主要useriduser+ client,其中之一tagidtag+ clientuser_tag现在我想为这两个主键创建表的外键,而不需要客户端两次。

我怎样才能做到这一点?它在条目帮助/检查中是如何显示的(输入只有一个来源,并且client有两个来源)?

这里的例子:

client|idtag     client|iduser
-------------    -------------
  1   |  1         1   |  3   
  1   |  2         1   |  4  
  2   |  1         2   |  3    

我的新表的可能值:

client|idtag|iduser
--------------------
  1   |  1  |  3
  1   |  1  |  4    
  1   |  2  |  3 
  1   |  2  |  4  
  2   |  1  |  3    

现在在我的检查表中,我想检查我的密钥是否在该表中。如果我不检查客户,我会有更多我不想要的可能性(不一致):

client|idtag|iduser
--------------------
  2   |  1  |  4    
  2   |  2  |  3 
  2   |  2  |  4  
4

2 回答 2

1

想想隐含的CLIENT(或MANDT)类似的东西,就像它不存在一样,只需定义您的外键,IDTAG, IDUSER就好像您正在为 MySQL 或 Postgres 等数据库执行此操作一样。

我不知道您的要求是什么,但总是有可能在 SAP 中定义透明表不依赖于客户端,但这对于应用程序数据来说不太可能,而是用于跨客户端配置。

于 2015-09-18T09:58:38.420 回答
1

只是从另一个角度解释一下:当您登录 SAP 时,您的登录是特定于客户端的。

当你写一个选择时

SELECT * FROM USER.
...
ENDSELECT.

您只能获得实际客户的条目。系统将选择明确限制在实际客户端上。

如果您想要一个独立于客户的选择,您必须CLIENT SPECIFIC在您的选择语句中使用添加。

换句话说:在正常情况下,不存在来自不同客户端的数据混合。user_tag因此,如果您只有一个客户端密钥,也没有问题。

于 2015-09-18T18:31:30.053 回答