SAP Tablolarında özellikle de uyarlama tablolarında kullanılan otomatik artan key field örneği,
SE11 üzerinden
GOTO > Utilities > Table Maintenance
generator
Bakem ekranı oluşturup kaydediyoruz.
GOTO
> Environment > Modification > Events
Tablodaki aksiyonları trigger etmesi için event'lara gidiyoruz
F4 yardımına tıklayarak mevcut Tablo Bakım İletişim Kutusu Olaylarını kontrol edin. SAP sisteminde tanımlanan tüm standart olayların listesini alacağız
Yeni kayıt ekleme Event seçiyoruz
Şimdi kaydedin, kaydettikten sonra mantığınızı yazabileceğimiz Editör ile sağlanacaktır.
Aşağıdaki gibi kodu yazabilirsiniz. Buarada SNRO oluşturuduğumuz object üzerinden her yeni kayıta bir alan eklemeyi sağlamakta.
DATA: w_count TYPE zckk_kntrl_list-id ,
w_range TYPE inri-nrrangenr VALUE '01' .
FORM eve.
* DATA : num(7) TYPE c ,
* num1(2) TYPE c VALUE 'DT' .
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = w_range
object = 'ZTNRO'
* QUANTITY = '1'
* SUBOBJECT = ' '
* TOYEAR = '0000'
* IGNORE_BUFFER = ' '
IMPORTING
NUMBER = w_count
* QUANTITY =
* RETURNCODE =
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
BUFFER_OVERFLOW = 7
OTHERS = 8
.
IF sy-subrc eq 0.
Ztab-key = w_count .
ENDIF.
ENDFORM.
w_range TYPE inri-nrrangenr VALUE '01' .
FORM eve.
* DATA : num(7) TYPE c ,
* num1(2) TYPE c VALUE 'DT' .
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = w_range
object = 'ZTNRO'
* QUANTITY = '1'
* SUBOBJECT = ' '
* TOYEAR = '0000'
* IGNORE_BUFFER = ' '
IMPORTING
NUMBER = w_count
* QUANTITY =
* RETURNCODE =
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
BUFFER_OVERFLOW = 7
OTHERS = 8
.
IF sy-subrc eq 0.
Ztab-key = w_count .
ENDIF.
ENDFORM.
SNRO üzerinden yeni object tanımlıyoruz.
Yeni kaydı kaydetme sıransında aşağıdaki kodu kullanabilirirsiniz.
IF SY–UCOMM = ‘NEWL’ OR SY–UCOMM = ‘SAVE’.
LOOP
AT SCREEN.
IF
SCREEN–NAME = ‘Tablename-fieldname’.
SCREEN–INPUT = 0 .
MODIFY SCREEN .
MODIFY SCREEN .
ENDIF.
ENDLOOP.
ENDIF.
Hiç yorum yok:
Yorum Gönder