*&---------------------------------------------------------------------*
*& 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.
*& 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