Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

NO RANGE INITIALIZATION

Former Member
0 Kudos

hi Experts,

i am coding a report where in i need to move the data from a table YARC0L2 TO YARC0L2B IS THE condition satisfied.i have used No ranges to read RECID and RUNID, plz suggest me how to code the( PLZ GO THROUH THE BELOW CODE)

<b>Only the RUNID once at the beginning of the program, but get the RECID before each insert in the YARCL02B table</b>

PLZ ALSO SUGGEST HOW TO INITIALIZE AGAIN THE NO RANGE OBJECT( TALL ME THE fm)

DATA: TA_DOCSET_RES TYPE TABLE OF Y4ARCV_DOCSET_R,

WA_DOCSET_RES TYPE Y4ARCV_DOCSET_R.

DATA: TODAY TYPE DATS.

DATA: RESULT TYPE DATS.

TODAY = SY-DATUM.

SELECT * FROM Y4ARCV_DOCSET_R

INTO CORRESPONDING FIELDS OF TABLE TA_DOCSET_RES.

LOOP AT TA_DOCSET_RES INTO WA_DOCSET_RES.

TNAME = TA_DOCSET_RES-TABNAME.

CREATE DATA DREF TYPE (TNAME).

ASSIGN DREF->* TO <F>.

<b>PERFORM GET_NEXT_NUM CHANGING RECID.</b>

SELECT * FROM (TNAME) INTO <F>.

MOVE-CORRESPONDING <F> TO WA_BACKUP.

WA_BACKUP-RUNID = RUNID.

WA_BACKUP-RECID = RECID.

RESULT = TODAY - WA_BACKUP-FKDAT.

  • Need to check against the cases

  • first condition LIVE

  • second condition is to check the cases via object

IF RESULT GT WA_DOCSET_RES-LIFE.

INSERT YARCL02B FROM WA_BACKUP.

ELSE.

MESSAGE E000(YMSG_ARC).

ENDIF.

ENDSELECT.

ENDLOOP.

FORM GET_NEXT_NUM CHANGING RUNID RECID.

DATA: NUMBER1 TYPE C,

NUMBER2 TYPE C,

RC1 TYPE INRI-RETURNCODE,

RC2 TYPE INRI-RETURNCODE.

CALL FUNCTION 'NUMBER_GET_NEXT'

EXPORTING

NR_RANGE_NR = '01'

OBJECT = 'Y4ARC_NR_R'

  • QUANTITY = '1'

  • SUBOBJECT = ' '

  • TOYEAR = '0000'

  • IGNORE_BUFFER = ' '

IMPORTING

NUMBER = NUMBER1

RETURNCODE = RC1

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_GET_NEXT'

EXPORTING

NR_RANGE_NR = '01'

OBJECT = 'Y4ARC_NR_C'

IMPORTING

NUMBER = NUMBER2

RETURNCODE = RC2

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.

PLZ HELP ME...

<b></b><b></b>

1 REPLY 1

0 Kudos

Hi,

Check your number range object has the intervals defined and also check if you have supplied the initial and final value for the interval.

Regards,

sesh