Hi Experts,
I am working on Assigning External Batch Number For COR1 Process Order.
I have created External interval '02' for object 'BATCH_CLT'
and also write code in EXIT_SAPLV01Z_003
following code i have written for EXIT_SAPLV01Z_003
CONSTANTS :
c_rangeobj LIKE inri-object VALUE 'BATCH_CLT',
c_rangeno LIKE inri-nrrangenr VALUE '02'.
DATA:
le_nextnum(12) TYPE C.
CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
EXPORTING
object = c_rangeobj
EXCEPTIONS
foreign_lock = 1
object_not_found = 2
system_failure = 3
OTHERS = 4.
IF sy-subrc NE 0.
message e086 with 'Lock error' sy-subrc.
ENDIF.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = c_rangeno
object = c_rangeobj
QUANTITY = '1'
SUBOBJECT = ' '
TOYEAR = '0000'
IGNORE_BUFFER = 'X'
IMPORTING
number = le_nextnum " Number generated by Range Generator Object
QUANTITY =
RETURNCODE = lv_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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
EXPORTING
object = c_rangeobj.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
NR_RANGE_NR = '02'.
OBJECT = 'BATCH_CLT'.
CASE x_bncom-auart.
WHEN 'PI04'.
*le_nextnum = lv_nextnum.
REPLACE '0' WITH 'A' INTO NEW_CHARG.
*CONCATENATE 'L' le_nextnum into NEW_CHARG.
ENDCASE.
But Still it will not generate external batch number.
Experts pls give me solution i am working hard for this. <Priority normalized by moderator>.
Regards,
Sandip Kokate
Edited by: Vinod Kumar on Aug 2, 2011 10:20 AM