The CL_NUMBERRANGE_BUFFER class provides methods for getting numbers from an interval at runtime. Each method is called based on the buffer type setting of the object. In case the method caller calls a method, which doesn’t coincide with the buffer type of the object, an exception CX_NUMBER_RANGES will be raised.
Based on the buffering settings of the object, you can call a specific API method.
Use the NUMBER_GET_MAIN_MEMORY method to determine the next number of a number range interval.
Import Parameters
|
Parameter Name |
Value Help |
|---|---|
|
IV_OBJECT |
Number Range Object |
|
IV_SUBOBJECT |
Sub-object |
|
IV_INTERVAL |
Interval Number |
|
IV_QUANTITY |
Number of Numbers in Buffer |
|
IV_TOYEAR |
To Fiscal Year |
Export Parameters
|
Parameter Name |
Value Help |
|---|---|
|
EV_NUMBER |
Returned Number |
|
EV_RETURNCODE |
Return Code |
|
EV_RETURNED_QUANTITY |
Number of Returned Numbers |
lv_object = 'ZIG_NR5'. lv_interval = '01'. lv_quantity = 10. TRY. DATA(lo_get_number) = cl_numberrange_buffer=>get_instance( ). lo_get_number->if_numberrange_buffer~number_get_main_memory( EXPORTING iv_object = lv_object iv_subobject = lv_subobject iv_interval = lv_interval iv_quantity = lv_quantity iv_toyear = lv_year IMPORTING ev_number = lv_number ev_returned_quantity = lv_returned_qunatity). CATCH cx_number_ranges INTO DATA(lr_error). ENDTRY.
Use NUMBER_GET_PARALLEL method to determine the next number of a number range interval.
Import Parameters
|
Parameter Name |
Value Help |
|---|---|
|
IV_OBJECT |
Number Range Object |
|
IV_SUBOBJECT |
Sub-object |
|
IV_INTERVAL |
Interval Number |
|
IV_QUANTITY |
Number of Numbers in Buffer |
|
IV_TOYEAR |
To Fiscal Year |
Export Parameters
|
Parameter Name |
Value Help |
|---|---|
|
EV_NUMBER |
Returned Number |
|
EV_RETURNCODE |
Return Code |
lv_object = 'ZIG_NR2'. lv_interval = '01'. TRY. DATA(lo_get_number) = cl_numberrange_buffer=>get_instance( ). lo_get_number->if_numberrange_buffer~number_get_parallel( EXPORTING iv_object = lv_object iv_interval = lv_interval iv_subobject = lv_subobject iv_toyear = lv_year IMPORTING ev_number = iv_number ). CATCH cx_number_ranges INTO DATA(lr_error). ENDTRY.
Use the NUMBER_GET_NO_BUFFER method to determine the next number of a number range interval.
Export Parameters
|
Parameter Name |
Value Help |
|---|---|
|
EV_NUMBER |
Returned Number |
|
EV_RETURNCODE |
Return Code |
|
EV_RETURNED_QUANTITY |
Number of Returned Numbers |
lv_object = 'ZIG_NR9'. lv_interval = '01'. lv_quantity = 10. TRY. DATA(lo_get_number) = cl_numberrange_buffer=>get_instance( ). lo_get_number->if_numberrange_buffer~number_get_no_buffer( EXPORTING iv_object = lv_object iv_subobject = lv_subobject iv_interval = lv_interval iv_toyear = lv_year iv_quantity = lv_quantity iv_ignore_buffer = abap_true IMPORTING ev_number = lv_number ev_returned_quantity = lv_returned_qunatity). CATCH cx_number_ranges INTO DATA(lr_error). ENDTRY.