Skip to Content
0
Former Member
Aug 02, 2011 at 04:38 AM

Assigning External Batch Number Using SAPLV1ZE Exits.

321 Views

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