Mustafa HAMIT

ABAP CLEAR, REFRESH ve FREE Nedir? Farkları Nelerdir?

ABAP’ta veri temizleme işlemleri için en sık kullanılan üç komut: CLEAR, REFRESH ve FREE.
İlk bakışta benzer görünseler de, özellikle memory kullanımı ve davranışları açısından önemli farklar vardır.

CLEAR Nedir?

CLEAR, bir değişkenin ya da yapının içeriğini sıfırlar.

Özellikleri

  • Değişkeni başlangıç değerine çeker
  • Internal table kullanıldığında tabloyu boşaltır
  • Belleği serbest bırakmaz

Örnek

DATA: lv_text TYPE string VALUE 'Test'.

CLEAR lv_text.

Internal table için:

CLEAR lt_table.

REFRESH Nedir?

REFRESH, sadece internal table’lar için kullanılır ve tabloyu temizler.

Özellikleri

  • Tablodaki tüm satırları siler
  • Belleği serbest bırakmaz
  • Günümüzde CLEAR ile aynı işi yaptığı için çok tercih edilmez

Örnek

REFRESH lt_table.

FREE Nedir?

FREE, internal table için en güçlü temizleme komutudur.

Özellikleri

  • Tabloyu temizler
  • Kullandığı belleği tamamen serbest bırakır
  • Büyük veri işlemlerinde ciddi fark yaratır

Örnek

FREE lt_table.

Karşılaştırma

ÖzellikCLEARREFRESHFREE
Değişken sıfırlamaEvetHayırHayır
Internal table temizlemeEvetEvetEvet
Belleği boşaltmaHayırHayırEvet

WITH HEADER LINE Hakkında Önemli Not

Eğer internal table WITH HEADER LINE ile tanımlandıysa, CLEAR beklediğin gibi davranmayabilir.

Örnek

DATA: lt_table TYPE STANDARD TABLE OF mara WITH HEADER LINE.

CLEAR lt_table.

Bu kullanım:

  • Sadece header line’ı temizler
  • Internal table içeriği olduğu gibi kalır

Tabloyu gerçekten temizlemek için:

CLEAR lt_table[].

veya

REFRESH lt_table.

kullanman gerekir.


Hangi Durumda Hangisi Kullanılmalı?

  • Basit değişkenler → CLEAR
  • Internal table temizleme → CLEAR
  • Büyük veri sonrası memory boşaltma → FREE

Sonuç

Kısaca:

  • CLEAR → veriyi sıfırlar
  • REFRESH → tabloyu boşaltır (artık çok gerekli değil)
  • FREE → hem siler hem belleği geri verir

Küçük veri setlerinde fark çok hissedilmez ama büyük tablolarla çalışırken
özellikle FREE kullanımı ciddi memory avantajı sağlar.

Abap’ta internal tabloların farkını öğrenmek için bu yazıyı inceleyebilirsiniz.

Link : http://www.mustafahamit.com/abap-internal-table-turleri-nelerdir-standard-sorted-ve-hashed-table-farklari/

Loading

Bir yanıt yazın