数据定义:TYPE或?

2020-09-20 07:41发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


希望为此找到一些指南,但是没有看到任何具体建议。

定义变量时,是否使用数据元素或表和字段名称作为类型? 例如:

数据:lv_werks类型vbap-werks。

数据:lv_werks类型werks_d吗?

(而且,我总是觉得WERKS是一种结构。:))

我倾向于第一个选项,尤其是在为SELECT定义内部表时。 显然,SAP可以在标准表中更改分配的数据元素,因此像vbap-werks这样的引用可以防止可能的类型错误。 但是我想知道是否还有其他因素需要考虑。 您使用什么,为什么?

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


希望为此找到一些指南,但是没有看到任何具体建议。

定义变量时,是否使用数据元素或表和字段名称作为类型? 例如:

数据:lv_werks类型vbap-werks。

数据:lv_werks类型werks_d吗?

(而且,我总是觉得WERKS是一种结构。:))

我倾向于第一个选项,尤其是在为SELECT定义内部表时。 显然,SAP可以在标准表中更改分配的数据元素,因此像vbap-werks这样的引用可以防止可能的类型错误。 但是我想知道是否还有其他因素需要考虑。 您使用什么,为什么?

谢谢。

付费偷看设置
发送
13条回答
亦是此间程序员
1楼-- · 2020-09-20 07:55

好像有人早早用WERKS结构搞砸了,之后再做任何事情都为时已晚!

我用第二个。 我知道这很不理性,但我只是不喜欢第一个。 但是,在语义上

数据类型TYPE vbap-werks。

比上下文具有更多的上下文意义

 DATA werks类型werks_d。

如果仅在销售单据项目plant的上下文中使用变量,则您可能应该使用第一个变量,但应调用变量sales_doc_item_plant(尽管我认为可以使用werk而不是plant来原谅,因为werk是 广泛理解)。 我想这个想法是,如果出于某种完全奇怪的原因,VBAP工厂变成了与MARC工厂不同的事物,那么您的程序是安全的。

如果含义更多,而不仅仅是植物,请使用第二个。 所有非常小的内容,我认为这并不重要(显然,因为我更喜欢"错误的"内容)。 当然了

从vbap到@data(sales_doc_item_plant)的SELECT单个动作...在哪里... 

消除了整个问题。 :-)

我是小鹏鹏啊
2楼-- · 2020-09-20 07:53

关于"在哪里使用"的要点,我还没有考虑过。 我们的指导方针对此没有任何规定(好吧,它们是我写的,我也不知道,如您所见:))。 但是我也想知道是否会涉及某种开销。 我同意,这确实是一件小事,但我只是意识到自己做了些事情,甚至不知道为什么。

梦想连接
3楼-- · 2020-09-20 07:56

有趣的问题耶琳娜:)

我都用过。 在客户的一种开发标准中,实际上提到使用底层数据元素代替表字段。。(也许表字段会产生额外的开销?)

但是实际上,我认为,如果要在特定表字段所引用的所有程序中进行反向查找,则只会对使用的结果产生重大影响。

期待其他答案!

此致

塔伦(Tarun)

My梦
4楼-- · 2020-09-20 08:13

感谢您的回复! 这听起来也像我的方法。 我对此没有任何合理的解释,:)但是,看起来这样做确实没有普遍的"正确"或"错误"方式,只是不同的情况和个人喜好。

好吧,无论哪种方式,这对我来说都是教育性的话题。 谢谢您的分享!

callcenter油条
5楼-- · 2020-09-20 07:54

1)每当我创建一个报表或交易以用于现有或标准对象(销售订单,采购申请等)时,我总是使用引用 特定于开发的表和字段,因此用于销售订单vbap-werks,用于采购订单eban-werks等。 其背后的原因是,那么我确定当我将该字段链接到屏幕字段或ALV时,我将获得正确的F1/F4帮助,输入帮助和翻译。

2)创建新对象时,我使用两种方式:

  • 如果后面有一个Z表,那么我将执行第1点中的操作,但是我没有使用标准的数据元素,而是经常创建新的元素,例如进行更好的翻译。
  • 如果我没有在数据库中存储任何内容,但是我只是做一些功能,那么我在FG或类中创建一个类型或结构,然后稍后引用存储在其中的类型,例如数据:工厂类型zcl_whatever => t_data -厂。 在这种情况下,每当需要更改时,我都只在一个地方进行操作。
    当然,如果需要将该字段显示在某个地方,那么我将首先创建数据元素,然后在类/FG中引用它。

...使用基本定义的另一个原因:)

一周热门 更多>