因此,我的公司希望我学习SAP的ABAP,并且我已经开始学习这方面的知识。我的背景主要是VB.net和带有T-SQL的sqlserver,但也有c#的经验。
尽管使用ABAP,但我需要对数据类型和域的理解进行一些澄清或确认。如果有人可以帮助。
我目前的理解是我们有一个表,该表中有字段,并且如果需要,这些字段具有数据类型和长度。示例:我们有一个表Customer,我可以有一个customerNumber
字段,其数据类型为char(10)
。对我来说,这意味着在表客户中,我们有一个名为CustomerNumber
的字段,它将包含10个字符。
但是,对于ABAP,我们拥有域,数据元素和字段,这是否意味着我们有一个名为所需名称的字段。由于该字段可能意味着任何事情,因此我们分配一个数据元素,该元素具有对该字段中存储的数据种类的描述。但是,要存储格式和数据类型,我们需要将Domain分配给Data元素。
例如,我调用了一个字段ZCUSNO
,这目前没有任何意义,但是如果我分配了ZCTNMR
(带有客户编号的说明)数据元素,则表明字段ZCUSNO
是ZCTNMR
,因此ZCUSNO
是客户编号字段。
现在在数据元素中我们将有一个域,对于我们的示例ZCTNMR
数据元素(客户编号),我们可以将ZCTDOM
分配为域,这就是我认为的数据类型因此Char 20,Char 100或整数字段等
我的理解是否正确?有人可以清楚地指出域>数据元素与sqlserver中的数据类型之间的区别是什么。
谢谢
答案 0 :(得分:5)
我不知道它是否100%正确,但这就是我使用的方式,就像您说的那样。
您可以重用Domain,如果您不打算重用,则可以直接使用Data Element并将其引用为内置类型。
E.G。
答案 1 :(得分:2)
您的理解是非常正确的,在这里可以添加的内容不多。
您应该清楚掌握主要内容。
并非每个表字段都具有数据元素(它们可以具有内置类型),但是每个字段都具有类型(原始数据或包装在数据元素中)。
如果要在屏幕(Dynpros),ALV网格或其他报表中使用字段,请创建具有该字段业务意义的数据元素。
如果您仅将此字段用于计算或其他实用程序内部任务,请不要打扰自己。
答案 2 :(得分:0)
最终:实际上,作为一种好习惯,因为我认为为数据元素创建一个域,将来可能会对您有所帮助。
我希望它能对您有所帮助。祝你好运!