Otomatik Artan Ztable id (Auto increment id)


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.

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


SNRO üzerinden yeni object tanımlıyoruz.








Yeni kaydı kaydetme sıransında aşağıdaki kodu kullanabilirirsiniz.


IF SYUCOMM = ‘NEWL’ OR SYUCOMM = ‘SAVE’.
LOOP AT SCREEN.
IF SCREEN–NAME = ‘Tablename-fieldname’.
SCREEN–INPUT = 0 .
MODIFY SCREEN .
ENDIF.
ENDLOOP.

ENDIF. 






Hiç yorum yok:

Yorum Gönder