2016-08-12 72 views
1

跨張貼在SCN的功能正確性檢查自定義代碼:(ATC FUNCTIONAL_DB)

我運行在我們的代碼庫的功能正確性檢查,但一些對象,我認爲在功能上是不正確不被拾起:

我有下面一段代碼,不使用一個完整的鑰匙,並聲明沒有順序:但它通過檢查:

搜索沒有SELECT/OPEN CURSOR的結果有問題的聲明 ORDER BY

。 ATC是否有任何已知問題,或者下面的代碼是否被認爲功能正確?

select frgco from zmm_rel_codes up to 1 rows 
    into lv_frgco 
    where ekorg = lv_ekorg 
     and bsart = lv_bsart 
     and knttp = lv_knttp 
     and zcap = lv_capex 
     and zlimit ge lv_gnetw. 
endselect. 

enter image description here

系統細節:Netweaver的7.4 SP 8上花DB運行。

+1

它看起來像有問題的檢查僅適用於如果您使用*結果集*的方式,使得對訂單的假設的數據。是否會有另一個與上述代碼相關的檢查? – Esti

回答

1

我想在你的例子中選擇最多1行類似於「選擇單個」。 因此,選擇結果不是表格,而是單個條目,因此它不被視爲問題。

不過,我必須建立一個自定義代碼督察檢查,以處理以下問題,如標準不工作有良好:

  1. 選擇使用「加入」或「所有條目」語句 使用「SORT 「在關鍵字段選擇之後立即聲明。
  2. 沒有選擇「加入」或「所有條目」

2.1。表鍵字段全部出現在結果中(例如,使用select *) 使用「ORDER BY PRIMARY KEY」語句。

2.2。只有一些表鍵字段出現在選擇結果中 使用「ORDER BY」+語句

+0

謝謝你的回答丹尼斯。是的,我對SAP有類似的迴應,表示如果他們檢查的話,他們會冒太多的誤報。 在這個問題後,我不得不QA巨量的代碼,我同意他們。在選擇這種方式的100個案例中,實際上有2個是實際上的問題。 – Esti

+0

出於興趣。你是如何做定製檢查的?您是否增強了代碼檢查器類,或者您是否只使用REGEX檢查? – Esti

+1

嗨估計,這裏是文章,這將幫助你創建一個新的自定義檢查你想要的任何東西:) https://blogs.sap.com/2006/11/02/code-inspector-how-to-create-一個全新的核對/ – Denis