SAP Sisteminde User Exit Nedir, Nasıl Yapılır, Nasıl Bulunur?

Övünç DİNÇ

Çözüm Ekibi
Kayıtlı Üye
Katılım
8 Eki 2016
Mesajlar
939
Çözümler
4
Tepki puanı
276
Puanları
63
Yaş
42
Konum
İzmir
Web Sitesi
sapforo.com
Kullandığınız SAP Modülleri
  1. SAP MM
  2. SAP PP
  3. SAP FI
  4. SAP QM
Katılım Bölgesi
  1. İzmir
User exit yazılımı, müşterinin kendisi için ekleme yaptığı alanlardır. Bu alanlar standart SAP uygulamalarını bozmadan kendinize has fonksiyonlar ekleyebileceğiniz alanlardır. Bu alanlar altprogram olarak da düşünülebilir, FORM EXIT olarak da bilinirler. User exit bölümleri genellikle include veya SAP tarafından standart programlara eklenen kısımlardır.


SAP’de standart koda müdahale etmek mümkün değildir. Eğer kod üzerinde kontroller eklenmek isteniliyorsa bu standart program kopyalanıp Z’li bir versiyon oluşturulabilir. Böylece istenen düzenlemeler bu versiyon içinde yapılabilir. İkame ile yapılamayacak düzenlemeler kodlama ile gerçekleştirilebilir. Veya standart kodu kopyalamak yerine kodun içinde exit işlemi gerçekleştirilip standart koddan Z’li koda geçerek gereken eklemeler yapılabilir. Daha sonra standart koda geri dönülür ve standart koddan devam eder.

Doğrulama ve ikame ekranlarında çıkış için bir sekme bulunmaktadır. Çıkış sekmesinde yer alan çıkış formlarıdır. Doğrulama için bir çıkış formu buradan seçilebilir. Yani doğrulamada belirlenen önkoşul sağlandığında seçilen çıkış programına gidilir.

1512994696717.png


Doğrulamanın çalışacağı standart programı bulmak için GCX2 işlem koduna gidilir. Bulduğumuz kodun içinde exit formunu göreceğiz. Doğrulamada exitlerin tutulduğu programın RGGBR000 olduğunu görüyoruz.

1512994816479.png


Bu program ismini SE38 ekranına yazıyoruz ve görüntüle butonuna tıklıyoruz.

1512994872979.png


Biz bu kod içerisinde U100 formuna ulaşmak istiyoruz. Bunun için klavyeden CTRL+F yaparak U100 formunu aratırız. Doğrulama veya ikamede U100 formunu çalıştırdığımızda standart kod içinde U100 formu çalıştırılır ve bitirilir. Yani bu standart kodda sadece U100 formu çalıştırılmış olur. Diğer kodlar çalıştırılmaz.

1512994921475.png


Bu U100 formunun içindeki koda break koyalım. Doğrulamanın kontrolünü de U100 çıkışı olarak belirleyelim. Doğrulamanın önkoşulunu sağladığımızda kontrol için U100 formunun çalışıp çalışmayacağını kontrol edelim.

1512994961475.png


Doğrulamanın önkoşulu kayıt tarihinin 2 Kasım olması ve defteri kebir hesabının 770’li hesap olmasıydı. Bu önkoşula uyan bir kayıt işlemi oluşturalım.

1512994994695.png


1. Belge kaleminde tutarı ve vergi göstergesini girip enter tuşuna basalım.

1512995010765.png


Entera bastığımızda break koyduğumuz U100 formu çalışmış oldu.
1512995285084.png

öylece kontrolde U100 formunu çalıştırıp bu formun içine yazılacak koda göre kontrol fonksiyonu çalıştırılmış olur. Bu U100 formu içinde kod geliştirmek için de öncelikli olarak standart program çıkışı kopyalanır ve Z’li kopyası oluşturulur. Bu kopyalanan program içinde standart programdan kopyalanan formun ismi değiştirilerek içinde çalışacak kontroller yazılabilir.

Business Transaction Events (BTEs) Release 4.0 dan sonra devreye giren ve farklı bir program exit tekniğidir. BTEs genellikle satış dağıtım komponentleri, hesap borç alacak ve ana (FI-AR ve FI-AP) ve defteri kebir hesaplarında (FI-GL) bulunur. Bir olay gerçekleştiğinde BTE çalışır.

Doğrulama ve ikamedeki gibi belirlenen kontrollerden sonra kodu çalıştırmak yerine belge kaydı gerçekleştirilirken BTE çağrı noktası ile kaydet butonuna basmadan istenen tüm kontroller gerçekleştirilebilir.

FIBF işlem kodunda öncelikle müşteriye ilişkin bir ürün oluşturalım. Bunun için menü çubuğunda Ayarlar -> Ürünler -> Müşteri ilişkin seçilir.

1512995326124.png


Yeni girişler butonuna tıklanarak ürünün adı oluşturulur. Ürünün tanımı girilir ve Etkin tıkı atılır. İşlem kaydedilir.

1512995390999.png

Daha sonra oluşturduğumuz bu ürünü bir olaya bağlamalıyız. Bunun için FIBF ekranında menü çubuğunda Ayarlar -> P/S modülleri -> Müşteri ilişkin alanı seçilir.

1512995421448.png

Yeni girişler butonuna tıklanarak bir olay seçilir. Standart verilerin kaydında bu olay gerçekleşecektir. Oluşturduğumuz ürünü seçelim. İşlev modülü alanına bu olayın hangi fonksiyon modülünde çalışacağı girilir. İşlem kaydedilir.

1512995446750.png

SE37 işlem kodunda işlem modülüne girdiğimiz fonksiyonu görüntüleyelim.

1512995475190.png

Kodun içine break koyalım ve F-02’de belge kaydı oluştururken kodu çağırmış olalım.

1512995503807.png

F-02 ekranında belge kaydı oluşturalım. Örnek olarak bankalar arası virman kaydı oluşturalım.

1512995533996.png

1512997314401.png

Belge kalemleri girildikten sonra belge kalemlerini görüntüleme ekranında kaydet butonuna basalım. Belge kaydedilmeden önce BTE çalışacaktır ve kod ekranı çağırılacaktır.

1512998380295.png


1512998392914.png


Umut Bey'e bu güzel paylaşımı için teşekkürler.
Kaynak: SAP FI Modül Eğitimi - SAP FI Modül Uyarlamaları - SAP FI Modül Notları.
 

untitled

Kayıtlı Üye
Katılım
20 Ara 2017
Mesajlar
6
Tepki puanı
3
Puanları
3
Yaş
40
Kullandığınız SAP Modülleri
  1. SAP MM
  2. SAP FI
  3. SAP SD
Güzel döküman.Teşekkürler
 

aceka78

Kayıtlı Üye
Katılım
28 Kas 2017
Mesajlar
6
Tepki puanı
1
Puanları
3
Yaş
35
Konum
KARABÜK
Kullandığınız SAP Modülleri
  1. SAP MM
  2. SAP PP
  3. SAP CO
  4. SAP FI
  5. SAP HR
  6. SAP QM
  7. SAP BW
  8. SAP ABAP
Katılım Bölgesi
  1. Karabük
Güzel paylaşım.Teşekkürler
 

tahoodiyorki

Kayıtlı Üye
Katılım
19 Şub 2018
Mesajlar
7
Tepki puanı
1
Puanları
3
Yaş
34
Kullandığınız SAP Modülleri
  1. SAP MM
  2. SAP PP
  3. SAP CO
  4. SAP FI
  5. SAP SD
  6. SAP HR
  7. SAP QM
  8. SAP BW
  9. SAP PS
  10. SAP WM
  11. SAP ABAP
Katılım Bölgesi
  1. İzmir
ABAP'a ve SAP'a yabancı olanlar için güzel kaynak
 
Üst