如何在 ABAP 中创建两个复合外键
How to create two compound foreign keys in ABAP
我得到了三个 table。 user
tag
和 user_tag
。 user
的初级是iduser
+client
,tag
的初级是idtag
+client
。现在我想为这两个主键 table user_tag
创建外键 而无需在那里有两次客户端。
我该怎么做?在条目中如何显示help/check(输入可用的只有一个来源,而client
有两个来源)?
这里是例子:
client|idtag client|iduser
------------- -------------
1 | 1 1 | 3
1 | 2 1 | 4
2 | 1 2 | 3
我的新 table 的可能值:
client|idtag|iduser
--------------------
1 | 1 | 3
1 | 1 | 4
1 | 2 | 3
1 | 2 | 4
2 | 1 | 3
现在在我的支票中table 我想检查一下我的钥匙在里面 table。如果我不检查客户端,我将有更多我不想要的可能性(不一致):
client|idtag|iduser
--------------------
2 | 1 | 4
2 | 2 | 3
2 | 2 | 4
只需考虑 CLIENT
(或 MANDT
)之类的隐含的东西,就像它不存在一样,只需将外键定义为 IDTAG, IDUSER
就好像你是为 MySQL 或 Postgres 之类的数据库执行此操作。
我不知道您的要求是什么,但总有可能在 SAP 中定义透明表不依赖于客户端,但这不太可能用于应用程序数据,而是用于跨客户端配置。
只是从另一个角度来解释:当您登录 SAP 时,您的登录是特定于客户端的。
当你写一个select喜欢
SELECT * FROM USER.
...
ENDSELECT.
您只能获得与实际客户有关的条目。系统在实际客户端上限制 selection 显式。
如果您想要一个独立于客户端的 selection,您必须在 select 语句中使用加法 CLIENT SPECIFIC
。
也就是说:正常情况下,不同客户端的数据是不会混在一起的。因此,如果您的 user_tag
只有一个客户端密钥,也没有问题。
我得到了三个 table。 user
tag
和 user_tag
。 user
的初级是iduser
+client
,tag
的初级是idtag
+client
。现在我想为这两个主键 table user_tag
创建外键 而无需在那里有两次客户端。
我该怎么做?在条目中如何显示help/check(输入可用的只有一个来源,而client
有两个来源)?
这里是例子:
client|idtag client|iduser
------------- -------------
1 | 1 1 | 3
1 | 2 1 | 4
2 | 1 2 | 3
我的新 table 的可能值:
client|idtag|iduser
--------------------
1 | 1 | 3
1 | 1 | 4
1 | 2 | 3
1 | 2 | 4
2 | 1 | 3
现在在我的支票中table 我想检查一下我的钥匙在里面 table。如果我不检查客户端,我将有更多我不想要的可能性(不一致):
client|idtag|iduser
--------------------
2 | 1 | 4
2 | 2 | 3
2 | 2 | 4
只需考虑 CLIENT
(或 MANDT
)之类的隐含的东西,就像它不存在一样,只需将外键定义为 IDTAG, IDUSER
就好像你是为 MySQL 或 Postgres 之类的数据库执行此操作。
我不知道您的要求是什么,但总有可能在 SAP 中定义透明表不依赖于客户端,但这不太可能用于应用程序数据,而是用于跨客户端配置。
只是从另一个角度来解释:当您登录 SAP 时,您的登录是特定于客户端的。
当你写一个select喜欢
SELECT * FROM USER.
...
ENDSELECT.
您只能获得与实际客户有关的条目。系统在实际客户端上限制 selection 显式。
如果您想要一个独立于客户端的 selection,您必须在 select 语句中使用加法 CLIENT SPECIFIC
。
也就是说:正常情况下,不同客户端的数据是不会混在一起的。因此,如果您的 user_tag
只有一个客户端密钥,也没有问题。