SAP User Exit Nedir? SAP User Exit Nasıl Yazılır?

Bu yazımızda, SAP sisteminin firmalar için kendi programlarında izin verdiği özelleştirme aracı olan sap user exit diğer adı ile form exit yapısını anlatacağım.

USER EXIT(FORM EXIT) Nedir?

User exit yazılımda, 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, daha doğrusu mümkündür ancak bu bir repair işlemi olacağından dolayı tavsiye edilmez.

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.

SAP USER EXIT Nasıl Yazılır?

İ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.

sap user exit, sap form exit, sap doğrulama, sap ikame

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.

sap user exit, sap form exit, sap doğrulama, sap ikame
Bu program ismini Bu program ismini SE38 ekranına yazıyoruz ve görüntüle butonuna tıklıyoruz.

sap user exit, sap form exit, sap doğrulama, sap ikame

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.

sap user exit, sap form exit, sap doğrulama, sap ikame

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.

sap user exit, sap form exit, sap doğrulama, sap ikame

SAP USER EXIT Örneği

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.

sap user exit, sap form exit, sap doğrulama, sap ikame
1. belge kaleminde tutarı ve vergi göstergesini girip entera basalım.

sap user exit, sap form exit, sap doğrulama, sap ikame

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

sap user exit, sap form exit, sap doğrulama, sap ikame
Bö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.

sap user exit, sap form exit, sap doğrulama, sap ikame

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.

sap user exit, sap form exit, sap doğrulama, sap ikame

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.

sap user exit, sap form exit, sap doğrulama, sap ikame

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.

sap user exit, sap form exit, sap doğrulama, sap ikame

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

sap user exit, sap form exit, sap doğrulama, sap ikame

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

sap user exit, sap form exit, sap doğrulama, sap ikame

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

sap user exit, sap form exit, sap doğrulama, sap ikame

sap user exit, sap form exit, sap doğrulama, sap ikame
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.

sap user exit, sap form exit, sap doğrulama, sap ikame

sap user exit, sap form exit, sap doğrulama, sap ikame

Bu konu özelinde daha fazla bilgiye ulaşmak için buraya tıklayınız.

Bu Yazıyı Beğendiniz mi?
I agree to have my personal information transfered to MailChimp ( more information )
Sizde 3.000 kişinin üzerinde bulunan abonelerimiz arasına katılın. Abone olarak yeni eklenen içeriklerimizden anında haberdar olursunuz
E-Mail adresiniz sapuzman.com dışında 3 tekil veya tüzel kişilikler ile paylaşılmayacaktır
Sosyal Medya Hesaplarımız
Umut Demirci hakkında 324 makale
1986 yılında Kocaeli'nin Darıca ilçesinde dünyaya geldim. Bahçeşehir Üniversitesi, Matematik ve Bilgisayar Bilimleri bölümünü başarılı bir şekilde tamamladım. Üniversite yıllarında çeşitli sosyal sorumluluk projeleri ve bilişim projeleri içerisinde görev aldım. Üniversiteyi tamamladıktan hemen sonra 2010 yılında başladığım ERP sektöründe, SAP Sipariş Planlama&Müşteri Hizmetleri ve Master Data Birim Yöneticisi olarak çalışmaya devam etmekteyim. Daha detaylı bilgi için Hakkımda menüsünü kullanabilirsiniz.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*