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.
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.
Bu program ismini Bu program ismini SE38 ekranına yazıyoruz ve görüntüle butonuna tıklıyoruz.
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.
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 Ö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.
1. belge kaleminde tutarı ve vergi göstergesini girip entera basalım.
Entera bastığımızda break koyduğumuz U100 formu çalışmış oldu.
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.
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.
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.
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.
SE37 işlem kodunda işlem modülüne girdiğimiz fonksiyonu görüntüleyelim.
Kodun içine break koyalım ve F-02’de belge kaydı oluştururken kodu çağırmış olalım.
F-02 ekranında belge kaydı oluşturalım. Örnek olarak bankalar arası virman kaydı oluşturalım.
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.
Bu konu özelinde daha fazla bilgiye ulaşmak için buraya tıklayınız.
Bir yanıt bırakın