Saturday, March 17, 2018

ODN Number Range Creation at Start of Year

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

REPORT  ZNUMBER_RANGE.
TABLESNRIV.

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

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

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

SELECTION-SCREEN:BEGIN OF BLOCK F3 WITH FRAME TITLE TEXT-003.
PARAMETERSP_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 + .

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.

ODN Configuration Creation at Start of Year

*&---------------------------------------------------------------------*
*& Report  ZFI_ODN_CONFIG
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZFI_ODN_CONFIG.
TABLESJ_1IG_OFNUM.

SELECTION-SCREEN:BEGIN OF BLOCK F1 WITH FRAME TITLE TEXT-001.
PARAMETERSV_BUKRS TYPE BUKRS.
SELECTION-SCREEN:END OF BLOCK F1.


SELECTION-SCREEN:BEGIN OF BLOCK F2 WITH FRAME TITLE TEXT-002.
PARAMETERSV_DOCCLS TYPE DOCCLS.
SELECTION-SCREEN:END OF BLOCK F2.

SELECTION-SCREEN:BEGIN OF BLOCK F3 WITH FRAME TITLE TEXT-003.
PARAMETERSV_FDATE TYPE BUDAT.
SELECTION-SCREEN:END OF BLOCK F3.

SELECTION-SCREEN:BEGIN OF BLOCK F4 WITH FRAME TITLE TEXT-004.
PARAMETERSV_TDATE TYPE BUDAT.
SELECTION-SCREEN:END OF BLOCK F4.

DATA I_NRIV TYPE STANDARD TABLE OF NRIV WITH HEADER LINE.

START-OF-SELECTION.

DATAITAB TYPE STANDARD TABLE OF J_1IG_OFNUM.
DATAWA LIKE LINE OF ITAB.

SELECT FROM J_1IG_OFNUM INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE BUKRS V_BUKRS AND DOCCLASS V_DOCCLS.

LOOP AT ITAB INTO WA.
  "CHANGING THE LAST DATE TO INITIAL"
  WA-VALIDFROM V_FDATE.
  WA-VALIDTO V_TDATE.
  WA-LASTDATE '00000000'.
  "END OF CHANGING THE LAST DATE TO INITIAL"
  MODIFY ITAB FROM WA.
ENDLOOP.

LOOP AT ITAB INTO WA.
  INSERT INTO J_1IG_OFNUM VALUES WA.
  WRITE WA.
  NEW-LINE.
ENDLOOP.