Saturday, March 17, 2018

ODN Number Range Creation at Start of Year

*&---------------------------------------------------------------------*
*& REPORT  ZNUMBER_RANGE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZNUMBER_RANGE.
TABLES: NRIV.

SELECTION-SCREEN:BEGIN OF BLOCK F1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_OBJECT LIKE NRIV-OBJECT.
SELECTION-SCREEN:END OF BLOCK F1.

SELECTION-SCREEN:BEGIN OF BLOCK F4 WITH FRAME TITLE TEXT-004.
PARAMETERS: P_COCD LIKE NRIV-SUBOBJECT.
SELECTION-SCREEN:END OF BLOCK F4.

SELECTION-SCREEN:BEGIN OF BLOCK F2 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS: S_NRRANG FOR NRIV-NRRANGENR.
SELECTION-SCREEN:END OF BLOCK F2.

SELECTION-SCREEN:BEGIN OF BLOCK F3 WITH FRAME TITLE TEXT-003.
PARAMETERS: P_TOYEAR LIKE NRIV-TOYEAR.
SELECTION-SCREEN:END OF BLOCK F3.

DATA I_NRIV TYPE STANDARD TABLE OF NRIV WITH HEADER LINE.

START-OF-SELECTION.

SELECT * FROM NRIV INTO TABLE I_NRIV WHERE OBJECT = P_OBJECT AND NRRANGENR IN S_NRRANG AND TOYEAR = P_TOYEAR AND SUBOBJECT = P_COCD .
P_TOYEAR = P_TOYEAR + 1 .

LOOP AT I_NRIV.
CALL FUNCTION 'G_CATT_INSERT_NUMBER_RANGE'
EXPORTING
  EXTERNIND = I_NRIV-EXTERNIND
FROMNUMBER = I_NRIV-FROMNUMBER
NNRANGENR = I_NRIV-NRRANGENR
NRLEVEL = '00000000000000000000'
OBJECT = P_OBJECT
PROCIND = 'Y'
SUBOBJECT =  P_COCD
TONUMBER = I_NRIV-TONUMBER
TOYEAR = P_TOYEAR

EXCEPTIONS
  NO_CHANGES_MADE = 1
  OBJECT_NOT_INITIALIZED = 2
  OTHERS.
   WRITE S_NRRANG.
   WRITE 'RECORD ADDED'.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* WRITE 'ERROR'.
 ENDIF.
  ENDLOOP.

No comments:

Post a Comment