ATC etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
ATC etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

8 Aralık 2014 Pazartesi

ABAP Test Cockpit – Create Code Inspector Variant

ABAP Test Cockpit (ATC)  kısaca ATC kullanmını anlattıktan sonra yeni variant nasıl olu.turulur ona bakalım.

Bunun için SCI t-code unu kullanmanız gerekiyor.


Check variant kısmına isim yazılarak Create butonuna basılır. Ismin yazılacağı alanın başındaki buton varyantin “Global” mi “Local” userlar için tanımlandığını gösterir, üzerine tıklayarak değiştirebilirsiniz.



İstenen kontroller aşağıdaki gibi işaretlenir.



Ok işaretleri parameter aşağıdaki gibi parameter girmeniz gerektiğini gösteriyor.


Kaydedilir, şimdi kullanılmaya hazır. 

5 Aralık 2014 Cuma

ABAP Test Cockpit - ATC -

ABAP Test Cockpit (ATC)  kısaca ATC olarak bilinen tool, geliştirme esnasında otomatik olarak yaptırılan yazım testi için kullanılır. SAP nin standart kurallarını kullanabileeği gibi sizin referans vereceğiniz kuralları da denetler.

ATC yi çalıştırmak için, program se38 ile açılır, sonra Program=>Check=>ABAP Test Cockpit seçilir. 


Eğer kontrol için bizim belirlediğimiz kuralları da ekleyeceksek, ABAP Test Cockpit With seçilir. Options kısmından 


Execute Checks butonuna tıklanırsa, artık tanımlama dışı görülen hatalar listelenir. 

Listelenen satırlar üzerinde çift tıklanırsa belirlenen hatanın nedeni ve programdaki satırı gelir. Altı çizgili linkin üzerine tıklanırsa programdaki satır üzerine gelinip belirtilen hata istendiği şekilde düzeltilebilir.

Eğer istenen değişiklik yapılmak istenmiyor, komut cümlesini başka türlü yazamıyorsanız,  satırın sonuna   “#EC  eklenir. Bu işaretleme ATC nin bu hatayı görmemesini sağlar.  
İstenen değişiklik yapılır ve program tekrar activate edilirse, hatanın listeden kalktığı görülür.


Sıklıkla karşılaşılan hatalar ve çözümleri

Extended Program Check-> Text Element Missing in a Character String

WRITE 'Sum :', lv_sum.

WRITE text-002, lv_sum.

Unsecure use of FOR ALL ENTRIES            -> Possible use of ... without prior content check
SELECT FROM vbap INTO TABLE lt_vbap
           
FOR ALL ENTRIES IN lt_vbak
           
WHERE vbeln EQ lt_vbak-vbeln.

IF lt_vbak[] IS NOT INITIAL.
    
SELECT FROM vbap INTO TABLE lt_vbap
             
FOR ALL ENTRIES IN lt_vbak
             
WHERE vbeln EQ lt_vbak-vbeln.
ENDIF.
Bütün hatalar temizlendiğinde, aşağıdaki gibi bir ekranla karşlılır.