Sap Number Range Object (SNRO)

Brief Example

http://www.saptechnical.com/Tutorials/ABAP/SNRO/SNRO.htm

 

Example With More Detail

http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=50004015 

 

CALL FUNCTION 'NUMBER_GET_NEXT'
  EXPORTING
    nr_range_nr          = '01'                "-> refer to the table NRIV
    object                    = 'ZNROXX'       "Passing the Number Range Object
    subobject              = lv_subobject  " (optional)
    toyear                   = lv_year           "Pass the Year (optional)
  IMPORTING
    number                  = lv_number_range "Newly generated Number
    returncode             = lv_rc                   "The Return Code Number
  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 <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

WRITE : / 'The New Number is  :'(001), lv_number_range,
       /  'The Return Code is :'(002), lv_rc.

Return Code (lv_rc)
1) lv_rc =  ' ' , Everything is working fine
2) lv_rc = '1', The assigned number lies in the critical area.      
3) lv_rc =  '2',  This was the last number, next time the first number will be assigned     

你可能感兴趣的:(ABAP)