FORM get_docno USING p_lw_data_blart
p_lv_gjahr
p_bukrs
p_p_cb_test
CHANGING p_lv_belnr.
DATA: lv_numkr TYPE numkr,
lw_nriv TYPE nriv.
CLEAR:lv_numkr,
lw_nriv.
* Get the document Number range
SELECT SINGLE numkr INTO lv_numkr
FROM t003
WHERE blart EQ p_lw_data_blart.
IF sy-subrc NE 0.
MESSAGE e013(z_dev_apac) WITH p_lw_data_blart.
EXIT.
ENDIF.
IF p_p_cb_test NE c_charx.
CALL FUNCTION 'RF_GET_DOCUMENT_NUMBER'
EXPORTING
company = p_bukrs
range = lv_numkr
year = p_lv_gjahr
IMPORTING
document_number = p_lv_belnr
EXCEPTIONS
duplicate_number = 1
range_missing = 2
error_in_open_fi = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ELSE.
CALL FUNCTION 'NUMBER_GET_INFO'
EXPORTING
nr_range_nr = lv_numkr
object = c_object2
subobject = p_bukrs
toyear = p_lv_gjahr
IMPORTING
interval = lw_nriv.
* Count next number
p_lv_belnr = lw_nriv-nrlevel + 1.
PERFORM conversion_exit USING p_lv_belnr
CHANGING p_lv_belnr.
ENDIF.
ENDFORM. " get_docno
p_lv_gjahr
p_bukrs
p_p_cb_test
CHANGING p_lv_belnr.
DATA: lv_numkr TYPE numkr,
lw_nriv TYPE nriv.
CLEAR:lv_numkr,
lw_nriv.
* Get the document Number range
SELECT SINGLE numkr INTO lv_numkr
FROM t003
WHERE blart EQ p_lw_data_blart.
IF sy-subrc NE 0.
MESSAGE e013(z_dev_apac) WITH p_lw_data_blart.
EXIT.
ENDIF.
IF p_p_cb_test NE c_charx.
CALL FUNCTION 'RF_GET_DOCUMENT_NUMBER'
EXPORTING
company = p_bukrs
range = lv_numkr
year = p_lv_gjahr
IMPORTING
document_number = p_lv_belnr
EXCEPTIONS
duplicate_number = 1
range_missing = 2
error_in_open_fi = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ELSE.
CALL FUNCTION 'NUMBER_GET_INFO'
EXPORTING
nr_range_nr = lv_numkr
object = c_object2
subobject = p_bukrs
toyear = p_lv_gjahr
IMPORTING
interval = lw_nriv.
* Count next number
p_lv_belnr = lw_nriv-nrlevel + 1.
PERFORM conversion_exit USING p_lv_belnr
CHANGING p_lv_belnr.
ENDIF.
ENDFORM. " get_docno