SAP/ABAP USER SET-GET PARAMETER ID

Kullanıcılar üzerindeki yetki kontrolleri ile işlemler için bir çok alternatif bulunmaktadır. Mevcut kullanıcıları belirli rollere bağlayarak bu roller üzerinden yetki kontrolleri yaptırabilirsiniz veya kullanıcıları Z’li bir tablo üzerinden belirli parametrelere bağlayarak kontrollerinizi sağlayabilirsiniz. Bunlara ek olarak SAP’in kullanıcılara atayabileceğiniz parametreleri kullanarak istediğiniz kontrolleri direkt olarak kullanıcı bazında gerçekleştirebilmeniz mümkündür. Buna örnek olarak, aşağıda detaylarını görebileceğiniz gibi, bir paket altında SET/GET PARAMETERS oluşturuyoruz ve bu parametreyi bir kullanıcı parametresi olarak tanımladıktan sonra istediğimiz bir değer ataması gerçekleştiriyoruz. Daha sonra bu kullanıcıda bu parametre mevcutsa ve değeri bizim belirlediğimiz değer koşuluna uygun kontrolünü Abap ile gerçekleştirebiliyoruz.

Parametreyi oluşturmak istediğiniz paketin üzerine sağ tık -> create -> Other(1) -> SET GET PARAMETER ID seçeneği ile parametre ID’si oluşturulur.

Parametreye isim ve açıklaması yapılır. Herhangi bir aktive etme işlemine ihtiyaç yoktur.

SU3 Transaction kodu ile kullanıcı parametreleri sekmesi altına oluşturuğunuz parametre ismini veriyoruz. Parametre değeri olarak istediğiniz bir değer yazabilirsiniz. Bu örnekte X olarak bir değer kontrolü yapılmaktadır.

Artık OYAZICI kullanıcı için ZDEMO_USER_PARAMETER parametresi tanımlanmıştır ve bu parametreyi kullanarak X değerine sahip olduğunda gerekli işlem kontrolü yapmış olabiliriz.

Bu parametrenin kontrolü için BAPI_USER_GET_DETAIL metodu kullanılabilir veya USR05 tablosundan custom bir sorgu ile de kontrolünüzü gerçekleştirebilirsiniz.

Bu BAPI’yi kullanarak dönüş tablosu içerisinde yer alan Parametrelerde aşağıdaki kod bloğunda olduğu gibi bir kontrol gerçekleştirilmektedir.

DATA : LT_PARAMETERS TYPE TABLE OF BAPIPARAM1,
       LT_RETURN     TYPE TABLE OF BAPIRET2.

CONSTANTS C_PARID TYPE PARID VALUE 'ZDEMO_USER_PARAMETER'.

CALL FUNCTION 'BAPI_USER_GET_DETAIL'
  EXPORTING
    USERNAME   = SY-UNAME
  TABLES
    RETURN     = LT_RETURN
    PARAMETER1 = LT_PARAMETERS.

" Check Bapi Error Result
READ TABLE LT_RETURN INTO DATA(LS_RETURN) WITH KEY TYPE = 'E'.

IF LT_RETURN IS INITIAL.

  " Read User Parameter accordin to parameter ID.
  READ TABLE LT_PARAMETERS INTO DATA(LS_PARAMETER) WITH KEY PARID = C_PARID.

  IF LS_PARAMETER-PARVA EQ 'X'.
    MESSAGE 'Yetkiniz Var...' TYPE 'S' DISPLAY LIKE 'S'.
  ELSE.
    MESSAGE 'Yetkiniz Yok !' TYPE 'E' DISPLAY LIKE 'E'.
  ENDIF.
ENDIF.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s