为代码检查员的发现放置伪注释有哪些选择?

2020-09-14 09:27发布

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

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


另一个与ATC有关的问题,我目前正在微调ATC/SCI设置。 我仍然需要做的任务之一是在我们的开发指南中编写一份"操作方法"文档,其中一个主题是围绕伪注释来抑制ATC/SCI查找。

我已经在我们当前的代码中看到很多伪注释,但是似乎没有一个一致的模式来说明它们在与它们相关的语句之间的位置/放置方式。 查看 SAP帮助 这样,只有一个示例将伪注释放在语句开始的行中:

选择d〜object,h〜dokldate,h〜dokltime" #EC CI_BUFFJOIN
   从dokil AS d"完成缓冲
        INNER JOIN dokhl AS h"通过应用
          ON h〜id = d〜id AND"与共享对象
             h〜object = d〜object AND
             h〜typ = d〜typ与
             h〜langu = d〜langu AND
             h〜dokversion = d〜版本
   d〜id ='SD'并且
         d〜typ ='E'AND
         d〜langu = @langu AND
         d〜对象喜欢'AB%'
   进入表@docu_tab的对应字段。

但是,在我们自己的代码中,我有很多示例在语句后添加了它:

选择*从zpdm_pmp到表t_zpdm_pmp
  在哪里aennr = aenr-aennr。
                    " #EC CI_ALL_FIELDS_NEEDED(确认完全访问权限)

正如我在最近的ATC检查发现中列出的这一陈述一样,我认为该伪注释未被识别为属于它之前的选择语句。

这是正确的吗,是否总是需要像这样指定它?

 SELECT * FROM zpdm_pmp" #EC CI_ALL_FIELDS_NEEDED
   INTO TABLE t_zpdm_pmp"(确认完全访问权限)
  在哪里aennr = aenr-aennr。
 

在沙盒系统中进行快速检查似乎可以证实我的直觉,但我想证实一下事实确实如此。 这样放置,然后使用"带有伪代码的免除发现"重新运行检查,只有在明确选择并使用适当的工具提示后才能显示该检查:

我还想知道网上是否已经有更多示例,可以指向我们的开发人员以防他们需要它们。 我尝试找到它们,但对搜索并不十分幸运。

我们的中央ATC系统位于最新版本的NW 7.52上,而卫星系统位于NW 7.50/EHP 8上。

非常感谢和欢呼

Baerbel

(3.1 kB)

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

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


另一个与ATC有关的问题,我目前正在微调ATC/SCI设置。 我仍然需要做的任务之一是在我们的开发指南中编写一份"操作方法"文档,其中一个主题是围绕伪注释来抑制ATC/SCI查找。

我已经在我们当前的代码中看到很多伪注释,但是似乎没有一个一致的模式来说明它们在与它们相关的语句之间的位置/放置方式。 查看 SAP帮助 这样,只有一个示例将伪注释放在语句开始的行中:

选择d〜object,h〜dokldate,h〜dokltime" #EC CI_BUFFJOIN
   从dokil AS d"完成缓冲
        INNER JOIN dokhl AS h"通过应用
          ON h〜id = d〜id AND"与共享对象
             h〜object = d〜object AND
             h〜typ = d〜typ与
             h〜langu = d〜langu AND
             h〜dokversion = d〜版本
   d〜id ='SD'并且
         d〜typ ='E'AND
         d〜langu = @langu AND
         d〜对象喜欢'AB%'
   进入表@docu_tab的对应字段。

但是,在我们自己的代码中,我有很多示例在语句后添加了它:

选择*从zpdm_pmp到表t_zpdm_pmp
  在哪里aennr = aenr-aennr。
                    " #EC CI_ALL_FIELDS_NEEDED(确认完全访问权限)

正如我在最近的ATC检查发现中列出的这一陈述一样,我认为该伪注释未被识别为属于它之前的选择语句。

这是正确的吗,是否总是需要像这样指定它?

 SELECT * FROM zpdm_pmp" #EC CI_ALL_FIELDS_NEEDED
   INTO TABLE t_zpdm_pmp"(确认完全访问权限)
  在哪里aennr = aenr-aennr。
 

在沙盒系统中进行快速检查似乎可以证实我的直觉,但我想证实一下事实确实如此。 这样放置,然后使用"带有伪代码的免除发现"重新运行检查,只有在明确选择并使用适当的工具提示后才能显示该检查:

我还想知道网上是否已经有更多示例,可以指向我们的开发人员以防他们需要它们。 我尝试找到它们,但对搜索并不十分幸运。

我们的中央ATC系统位于最新版本的NW 7.52上,而卫星系统位于NW 7.50/EHP 8上。

非常感谢和欢呼

Baerbel

(3.1 kB)
2条回答
派大星 ヾ
1楼 · 2020-09-14 09:51.采纳回答

" EC伪代码注释可以放在语句旁边的任何位置-但不能在下面!

我认为确切的位置取决于样式和上下文,不会对此设置任何规则。 在SAP示例中,它在开始而不是结束时更有意义。 但是注释与长SELECT末尾的内容有关,因此在此处放置伪代码注释更有意义。

有了编译指示,别无选择。

昵称总是被占用
2楼-- · 2020-09-14 09:31

感谢您的快速回复,迈克!

我相当确定这种情况会发生,但是我想-因为我没有很快找到任何东西-在问答中有一个问题可以让其他人找到也不会受到伤害。

欢呼

Baerbel

一周热门 更多>