This website is not affiliated with, sponsored by, or approved by SAP AG.

0034 - Generating Number Ranges Automatically

Moderators: Snowy, thx4allthefish, Rich, ilya

0034 - Generating Number Ranges Automatically

Postby Rich » Sat Mar 28, 2009 8:42 am

Generating a number range automatically.

If you need a unique key in a table or a sequential number for any other purpose, you can use a range object .
Ranges are maintained in transaction SNRO

Image

After maintaining the first screen you have to maintain the intervals by clicking the button "number ranges"


Image


This information is stored in tables :

- TNRO Definition of number range objects

- NRIV Number range intervals. Note: Field NRLEVEL Contains the last assigned number.

In your program you read the next number by using the function NUMBER_GET_NEXT

Code: Select all
DATA l_number TYPE i.
CALL FUNCTION 'NUMBER_GET_NEXT'
    EXPORTING
        nr_range_nr = '01'
        object = 'ZTEST'
        quantity = '1'
    IMPORTING
        number = l_number
*       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
        OTHERS = 7.


display l_number.



Each time you call NUMBER_GET_RANGE the number is automatically increased.

You can also create the number range in your program instead of using SNRO with the functions:

    NUMBER_RANGE_INTERVAL_LIST : verify if a number range already exist
    NUMBER_RANGE_ENQUEUE : lock the specifier number range
    NUMBER_RANGE_INTERVAL_UPDATE : create the number range
    NUMBER_RANGE_UPDATE_CLOSE : commit changes
    NUMBER_RANGE_DEQUEUE : unlock

(Courtesy Dany Charbonneau)
Regards

Rich

Image
Abap KC:http://www.richard-harper.me.uk/Kb
SFMDR:http://www.se37.com
Rich
 
Posts: 7112
Joined: Thu Oct 31, 2002 4:47 pm
Location: Liverpool

Return to ABAPers

Who is online

Users browsing this forum: No registered users and 1 guest





loading...


This website is not affiliated with, sponsored by, or approved by SAP AG.